Java 连接 SqlServer工具类

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包

时间: 2024-09-28 01:47:41

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

java连接sqlserver的各个坑(菜鸟亲测)

作为一个菜鸟,刚开始用java连接sqlserver的时候,用的时间不短, 可以说解决了一个又出现一个,所以我觉得有必要把我的经验分享给大家. (因为我踩了大部分的坑) 第一个坑:加载驱动.java要连接数据库就需要驱动,我们去网上下载一个 sqljdbc.jar就行了.下载后该怎么做呢. 这个时候,我们在项目里面添加文件,然后把这个包粘贴进去,然后再右键这个包 添加构建路径,这样就可以了.这个时候你以为搞定了,可是后面还有很多坑. 第二坑:“ Failed to load the sqljdb

java 连接sqlserver数据库语句

import java.sql.*; /** * java 连接sqlserver数据库语句 * @author Administrator * */ public class Main {         public static void main(String [] args) throws SQLException {                                     String driverName="com.microsoft.sqlserver.jdbc.

UrlUtils工具类,Java URL工具类,Java URL链接工具类

UrlUtils工具类,Java URL工具类,Java URL链接工具类 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ?Copyright 蕃薯耀 2017年7月15日 http://www.cnblogs.com/fanshuyao/ Java代码   import java.util.Ha

Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ?Copyright 蕃薯耀 2017年9月13日 http://www.cnblogs.com/fanshuyao/ 直接上代码: import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.ref

[精品] 收集的27个java开发常用工具类.基本满足开发需求

原文:[精品] 收集的27个java开发常用工具类.基本满足开发需求 源代码下载地址:http://www.zuidaima.com/share/1596028005993472.htm 最近从网上收集的java开发常用的工具类,分享给大家.基本满足开发需求.推荐给热爱最代码以及java的牛牛们.   每个类都有注释的,欢迎大家可以下载使用. 字符编码:CharTools, base64:Base64 *.java Md5加密:  MD5*.java 上传:*Uploader* 生成缩略图类:T

java MD5数据加密工具类

package com.wetuo.util; import java.security.MessageDigest; /**  * 数据加密工具类  * @author wzp  *  */ public class DataUtil { public static String md5(String str) { StringBuffer buffer = new StringBuffer(); char[] chars = { '0', '1', '2', '3', '4', '5', '

Java 敏感词过滤,Java 敏感词替换,Java 敏感词工具类

Java 敏感词过滤,Java 敏感词替换,Java 敏感词工具类   =========================== ?Copyright 蕃薯耀 2017年9月25日 http://www.cnblogs.com/fanshuyao/ 一.问题描述 很多对外网站的某些内容都需要过滤敏感词,避免政治与色@情上的问题. 二.解决方案 使用词库进行匹配过滤成 * (星号) Java 敏感词工具类及敏感词词库见附件. 1.下载后,有几个类,主要为WordFilter 这个工具类,使用方法如下

Redis Java客户端jedis工具类以及Redis实现的跨jvm的锁

Redis Java客户端jedis工具类以及Redis实现的跨jvm的锁 最近项目中使用redis,学习了一下,client端使用jedis-2.1.0 首先是一个redis实现的跨jvm的lock, 接着是一个简单封装的工具类,也对pipeline处理进行了几个常用的封装 然后是对应Spring的相关配置 Java代码   public class RedisLock { /** 加锁标志 */ public static final String LOCKED = "TRUE";

java文件处理工具类

import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileRea