Java 连接 SqlServer工具类
1.下载 server2008R2驱动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工具类的更多相关文章
- python连接sqlserver工具类
上代码: # -*- coding:utf-8 -*- import pymssql import pandas as pd class MSSQL(object): def __init__(sel ...
- HttpTool.java(在java tool util工具类中已存在) 暂保留
HttpTool.java 该类为java源生态的http 请求工具,不依赖第三方jar包 ,即插即用. package kingtool; import java.io.BufferedReader ...
- Java基础-DButils工具类(QueryRunner)详解
Java基础-DButils工具类(QueryRunner)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC ...
- java 邮件发送工具类【来源网络自己已经实际应用】
最近在做一个Java发送邮件的工具类,现在分享一下完整的代码 首先需要java邮件的包javax.mail-1.5.4.jar 之前因为链接给错了,很不好意思,现在重新发一次. 包在这里可以下载htt ...
- Java操作Redis工具类
依赖 jar 包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis< ...
- Druid连接池工具类
package cn.zmh.PingCe; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSo ...
- Android OkHttp网络连接封装工具类
package com.lidong.demo.utils; import android.os.Handler; import android.os.Looper; import com.googl ...
- 基于SqlClient开发SQLServer工具类 伸手党的福音
注意:代码直接Copy调用即可,SQLServer工具类跟我上一个Oracle工具类有所不同,区别在于调用存储过程中时参数的使用,无需输入对应的存储游标名称 特点:根据用户传入的参数类型来识别存储中对 ...
- java文件处理工具类
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedRead ...
随机推荐
- HTMl Dom操作
訪問: getElementById():帶回指定id的所有元素 getElementByTagName():帶回指定標籤名的所有的元素 getElementByClassName():帶回指定類型名 ...
- Visual Studio 2017各版本安装包离线下载、安装全解析
关于Visual Studio 2017各版本安装包离线下载.更新和安装的方法以及通过已下载版本减少下载量的办法 微软最近发布了正式版Visual Studio 2017并公开了其下载方式,不过由于V ...
- git 在局域网新建远程库及本地开发常用命令
git 版本直接在官网下载即可:https://git-scm.com/downloads 安装后有git bash与git gui可以用. 1.在远程服务器上新建裸仓库 git init --ba ...
- jenkins--svn基本使用
新建项目 源码管理 #选择svn配置 svn基本信息配置 其中包括: Repository URL: svn://10.101.0.XXX:9507/XXXX Credentials: 配置你的 ...
- BZOJ3510 首都(LCT)
即动态维护树的重心.考虑合并后的新重心一定在两棵树的重心的连线上.于是对每个点维护其子树大小,合并时在这条链的splay上二分即可.至于如何维护子树大小,见https://blog.csdn.net/ ...
- BZOJ4946 NOI2017蔬菜(贪心+堆)
容易想到一个费用流做法:将每种蔬菜拆成p种,对应p个过期时间,每一种向可以卖的时间连边,第一次卖的奖励算在最晚过期的一种里.对于天数动态加点.不过这样边数太多了,因为第i天能卖的第i-1天一定能卖,可 ...
- 自学huawei之路-AC6005版本升级步骤
返回自学Huawei之路 自学huawei之路-AC6005版本升级步骤 本文主要采用WEB网管界面升级,方便快捷,推荐使用此方法. 一.升级前检查 1.1 原AC/AP设备版本确认 disp ...
- [luogu1912][bzoj4196][NOI2015]软件管理器
题解 树剖模板题,每次改变是\(1\)或者是\(0\),区间求和和区间修改就可了. ac代码 # include <cstdio> # include <cstring> # ...
- 【转】安全加密(五):如何使用AES防止固件泄露
本文导读 随着电子产品更新换代速度的加快,往往都会进行系统升级或APP功能维护升级,但是由此产生了两个主要问题.首先,由于更新过程中出现错误,该设备可能变得无用:另外一个主要问题是:如何避免未经授权的 ...
- 【转】STC51单片机下载程序的时候不要在VCC端接DHT11
今天使用51单片机学习板调试DHT11湿度传感器,下载程序的时候把DHT11烧掉了. 一开始我使用杜邦线把DHT11的VCC引脚接到学习板上的VCC端,GND接GND,数据端口接51单片机的P0.0. ...