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. delphi7调用数据库连接属性

    背景:连接数据库用ADOQuery控件,但是程序一旦编译完成,如果想更改数据库连接设置还得重新修改ADOQuery的属性重新编译 如果可以在程序中可以随时设置ADOQuery的属性则会方便很多. 实现 ...

  2. Luogu3676 小清新数据结构题(树链剖分+线段树)

    先不考虑换根.考虑修改某个点权值对答案的影响.显然这只会改变其祖先的子树权值和,设某祖先原子树权值和为s,修改后权值增加了x,则对答案的影响为(s+x)2-s2=2sx+x2.可以发现只要维护每个点到 ...

  3. Catenyms POJ - 2337(单词+字典序输出路径)

    题意: 就是给出几个单词 看能否组成欧拉回路或路径  当然还是让输出组成的最小字典序的路 解析: 还是把首尾字母看成点   把单词看成边 记录边就好了 这题让我对fleury输出最小字典序又加深了一些 ...

  4. POJ1177(扫描线求周长并)

    题意:..求周长并... 解析:参考求面积并 图借鉴自:https://www.cnblogs.com/shuaiwhu/archive/2012/04/22/2464876.html 自下而上扫描 ...

  5. virtualenv 模块

    作用 安装虚拟环境 下载组件 pip3 install virtualenv 使用 命令行创建使用 """ 创建虚拟环境 """ virtu ...

  6. MT【218】交点个数

    若函数$f(x)=x^3+ax^2+bx+c$有极值点$x_1,x_2$,且$f(x_1)=x_1$,则关于$x$的方程$3(f(x))^2+2af(x)+b=0$的不同实数根个数为_____ 注意到 ...

  7. 自学Aruba3.1-Aruba配置架构-WLAN配置架构

    点击返回:自学Aruba之路 自学Aruba3.1-Aruba配置架构- WLAN配置架构  WLAN配置架构 1. AP group : Aruba无线控制器通过AP Group来构建无线网络配置参 ...

  8. 几个面试经典算法题Java解答

    题目一: public class testClockwiseOutput { //顺时针打印一个矩阵 @Test public void test(){ int[][] num = new int[ ...

  9. Spring的FactoryBean使用

     Spring中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean,即FactoryBean.工厂Bean跟普通Bean不同,其返回的对象不是指定类的一个实例,其返回的是该工厂Bean的g ...

  10. A1032. Sharing

    To store English words, one method is to use linked lists and store a word letter by letter. To save ...