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 ...
随机推荐
- Metaspace 之一:Metaspace整体介绍(永久代被替换原因、元空间特点、元空间内存查看分析方法)
回顾 根据JVM内存区域的划分,简单的画了下方的这个示意图.区域主要分为两大块,一块是堆区(Heap),我们所New出的对象都会在堆区进行分配,在C语言中的malloc所分配的方法就是从Heap区获取 ...
- Ionic3.x设置启动页与图标
由于手机有很多不同的尺寸与版本,所以图标尺寸也是大小不一,但是如果手动每一个尺寸都制作一个图标,那估计美工会吐血吧,不过幸好,ionic只需要一个图标就可以制作不同尺寸的图标. 添加一个ionic项目 ...
- AntDesign从入门到精通
第一 设计原则 官方网址:https://ant.design/index-cn 需要做出更好的设计决策,给予研发团队一种高确定性.低熵值的研发状态.同时,不同设计者在充分理解业务述求后,基于 Ant ...
- Delphi动态添加菜单
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- 如何在Vue项目中引入jQuery?
假设你的项目由vue-cli初始化 (e.g. vue init webpack my-project). 在你的vue项目目录下执行: npm install jquery --save-dev 打 ...
- fopen
转自http://blog.sina.com.cn/s/blog_4b986f1a0101349k.html matlab中fopen函数在指定文件打开的实例如下: *1)“fopen”打开文件,赋予 ...
- iOS开发中@property的属性weak nonatomic strong readonly等
请看 https://www.cnblogs.com/liubeimeng/p/4244686.html
- BZOJ4551[Tjoi2016&Heoi2016]树——dfs序+线段树/树链剖分+线段树
题目描述 在2016年,佳媛姐姐刚刚学习了树,非常开心.现在他想解决这样一个问题:给定一颗有根树(根为1),有以下 两种操作:1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均 ...
- AJAX--总结
AJAX 2018-9-6 14:42:53 AJAX简介 HTTP协议------>HTTP权威指南 请求:客户端去向服务端请求一个文件 响应:服务端把对应的文件内容返回给客户端, ...
- IScroll的那些事——内容不足时下拉刷新
之前项目中的列表是采用的IScroll,但是在使用IScroll有一个问题就是:当内容不足全屏的时候,是木有办法往下拉的,这样就达不到刷新的目的了.[这是本人工作中遇到的,具体例子具体分析,这里只作一 ...