1.下载 server2008R2驱动jar包

下载jar包

http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=21599

2.代码实现

1)实体:

package entity;

import java.io.Serializable;
import java.util.Date; public class User implements Serializable{
private int id;
private String username;
private String password;
private Date createtime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Date getCreatetime() {
return createtime;
}
public void setCreatetime(Date createtime) {
this.createtime = createtime;
}
public User(int id, String username, String password, Date createtime) {
super();
this.id = id;
this.username = username;
this.password = password;
this.createtime = createtime;
} public User(String username, String password, Date createtime) {
super();
this.username = username;
this.password = password;
this.createtime = createtime;
}
public User() {
super(); }
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", password="
+ password + ", createtime=" + createtime + "]";
} }

2.dao

package dao;

import java.util.List;

import entity.User;

public interface UserDao {
public void add(User u); public User getByUsername(String username); public void update(User u); public void delete(String username); public List<User> findAll();
}

3.ImplDao

package daoImpl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Date; import java.util.List; import jdbcutil.JdbcUtil;
import dao.UserDao;
import entity.User; public class UserDaoImpl implements UserDao { @Override
public void add(User u) { Connection con = null;
PreparedStatement stmt = null;
ResultSet rs = null; try {
con = JdbcUtil.getConnection();
String sql = "insert into [user](username,password,createtime) values(?,?,?)";
stmt= con.prepareStatement(sql);
stmt.setString(1, "test");
stmt.setString(2,"123456");
stmt.setDate(3, new java.sql.Date(u.getCreatetime().getTime()));
stmt.executeUpdate(); } catch (Exception e) { e.printStackTrace();
}finally
{
JdbcUtil.close(rs, stmt, con);
} } @Override
public User getByUsername(String username) { Connection con = null;
PreparedStatement stmt = null;
ResultSet rs = null; try {
con = JdbcUtil.getConnection();
String sql = "select * from [user] where username=?";
stmt = con.prepareStatement(sql);
stmt.setString(1, username);
rs = stmt.executeQuery();
while(rs.next())
{
int id = rs.getInt("id");
String name = rs.getString("username");
String password = rs.getString("password");
Date time = rs.getDate("createtime"); User u = new User(id,username,password,time); return u; }
} catch (Exception e) { e.printStackTrace();
}
finally
{ JdbcUtil.close(rs, stmt, con);
}
return null;
} @Override
public void update(User u) { Connection con = null;
PreparedStatement stmt = null;
ResultSet rs = null; try {
con = JdbcUtil.getConnection(); String sql = "update [user] set password=? where username=?"; stmt = con.prepareStatement(sql); stmt.setString(1, u.getPassword()); stmt.setString(2, u.getUsername()); stmt.executeUpdate(); } catch (Exception e) { e.printStackTrace();
}
finally
{ JdbcUtil.close(rs, stmt, con);
}
} @Override
public void delete(String username) { Connection con = null;
PreparedStatement stmt = null;
ResultSet rs = null; try {
con = JdbcUtil.getConnection(); String sql = "delete from [user] where username=?"; stmt = con.prepareStatement(sql); stmt.setString(1,username); stmt.executeUpdate(); } catch (Exception e) { e.printStackTrace();
}
finally
{ JdbcUtil.close(rs, stmt, con);
}
} @Override
public List<User> findAll() {
List<User> list = new ArrayList<User>(); Connection con = null;
PreparedStatement stmt = null;
ResultSet rs = null; try {
con = JdbcUtil.getConnection();
String sql = "select * from [user]"; stmt = con.prepareStatement(sql); rs = stmt.executeQuery(); while(rs.next())
{
User u = new User(rs.getInt("id"), rs.getString("username"),rs.getString("password"),rs.getDate("createtime"));
list.add(u); }
return list; } catch (Exception e) { e.printStackTrace();
}
finally
{
JdbcUtil.close(rs, stmt, con); } return null;
} }

4.JDBC工具类

package jdbcutil;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties; public class JdbcUtil { private static String className;
private static String url;
private static String user;
private static String password; static
{ try {
InputStream in = JdbcUtil.class.getClassLoader().getResourceAsStream("dbinfo.properties"); Properties props = new Properties();
props.load(in); className = props.getProperty("className"); url = props.getProperty("url"); user = props.getProperty("user"); password = props.getProperty("password"); //System.out.println(className); //System.out.println(url); //注册驱动
Class.forName(className); } catch (Exception e) { e.printStackTrace();
} } public static Connection getConnection() throws Exception
{
return DriverManager.getConnection(url, user, password); } public static void close(ResultSet rs, Statement stmt,Connection con)
{ if(rs!=null)
{
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} rs= null;
} if(stmt!=null)
{
try {
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} stmt= null;
} if(con!=null)
{
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} con= null;
}
}
}

5.用于测试SQLServer驱动是否正确

package test;

import java.sql.Connection;
import java.sql.DriverManager; public class JdbcTest {
public static void test()
{
Connection conn = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //注意url中没有microsoft才能使用,网上增加了microsoft的会出现No suitable driver found for//jdbc:microsoft:sqlserver:……的错误
//若安装多个实例时,要确认相应的port及实例名
String url="jdbc:sqlserver://localhost:1433;DatabaseName=JavaTestDB";
String user="sa";
String password="123456";
conn= DriverManager.getConnection(url,user,password); System.out.println("链接成功"); } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
if(conn!=null)
{
try {
conn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} conn = null; } } }
}

备注: dbinfo.properties文件:

6.添加SQLServer jar包

Java 连接 SqlServer工具类的更多相关文章

  1. python连接sqlserver工具类

    上代码: # -*- coding:utf-8 -*- import pymssql import pandas as pd class MSSQL(object): def __init__(sel ...

  2. HttpTool.java(在java tool util工具类中已存在) 暂保留

    HttpTool.java 该类为java源生态的http 请求工具,不依赖第三方jar包 ,即插即用. package kingtool; import java.io.BufferedReader ...

  3. Java基础-DButils工具类(QueryRunner)详解

    Java基础-DButils工具类(QueryRunner)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC ...

  4. java 邮件发送工具类【来源网络自己已经实际应用】

    最近在做一个Java发送邮件的工具类,现在分享一下完整的代码 首先需要java邮件的包javax.mail-1.5.4.jar 之前因为链接给错了,很不好意思,现在重新发一次. 包在这里可以下载htt ...

  5. Java操作Redis工具类

    依赖 jar 包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis< ...

  6. Druid连接池工具类

    package cn.zmh.PingCe; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSo ...

  7. Android OkHttp网络连接封装工具类

    package com.lidong.demo.utils; import android.os.Handler; import android.os.Looper; import com.googl ...

  8. 基于SqlClient开发SQLServer工具类 伸手党的福音

    注意:代码直接Copy调用即可,SQLServer工具类跟我上一个Oracle工具类有所不同,区别在于调用存储过程中时参数的使用,无需输入对应的存储游标名称 特点:根据用户传入的参数类型来识别存储中对 ...

  9. java文件处理工具类

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedRead ...

随机推荐

  1. html的表格 table

    創建表格: 每一個表格以table開始: 每一個表格行以tr開始: 每一個數據以td開始:td的內容可以文本.圖像.表格.表單.段落等. 表格邊框: border設置邊框的粗細,但無法設置行間距,也無 ...

  2. BZOJ5018[Snoi2017]英雄联盟——DP

    题目描述 正在上大学的小皮球热爱英雄联盟这款游戏,而且打的很菜,被网友们戏称为「小学生」.现在,小皮球终于受不 了网友们的嘲讽,决定变强了,他变强的方法就是:买皮肤!小皮球只会玩N个英雄,因此,他也只 ...

  3. BZOJ4822[Cqoi2017]老C的任务——树状数组(二维数点)

    题目描述 老 C 是个程序员.     最近老 C 从老板那里接到了一个任务——给城市中的手机基站写个管理系统.作为经验丰富的程序员,老 C 轻松 地完成了系统的大部分功能,并把其中一个功能交给你来实 ...

  4. 洛谷P3959 宝藏(NOIP2017)(状压DP,子集DP)

    洛谷题目传送门 Dalao的题解多数是什么模拟退火.DFS剪枝.\(O(3^nn^2)\)的状压DP之类.蒟蒻尝试着把状压改进了一下使复杂度降到\(O(3^nn)\). 考虑到每条边的贡献跟它所在的层 ...

  5. NOIP2018退役记

    退役失败*1. md可能只有一次啊.

  6. 【BZOJ1821】[JSOI2010]部落划分(二分,并查集)

    [BZOJ1821][JSOI2010]部落划分(二分,并查集) 题面 BZOJ 洛谷 题解 二分答案,把距离小于二分值的点全部并起来,\(\mbox{check}\)一下是否有超过\(K\)个集合就 ...

  7. 超越LLMNR /NBNS欺骗 - 利用Active Directory集成的DNS

    利用名称解析协议中的缺陷进行内网渗透是执行中间人(MITM)攻击的常用技术.有两个特别容易受到攻击的名称解析协议分别是链路本地多播名称解析(LLMNR)和NetBIOS名称服务(NBNS).攻击者可以 ...

  8. Spring Cloud学习(一)

    Spring Cloud是什么? Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载 ...

  9. 2019.3.18考试&2019.3.19考试&2019.3.21考试

    2019.3.18 C O D E T1 树上直接贪心,环上for一遍贪心 哇说的简单,码了将近一下午终于码出来了 感觉自己码力/写题策略太糟糕了,先是搞了一个细节太多的写法最后不得不弃疗了,然后第二 ...

  10. [luogu4462][异或序列]

    传送门 突然发现自己没整理过异或的知识,正好借这个题整理一下. 关于异或 (1)异或就是在二进制下,两数各个位置上的数,相同为0,不同为1,所得到的数,比如说4^7,4的二进制是100,7的二进制是1 ...