Java JDBC连接SQL Server数据库

来源:互联网 发布:数据之巅pdf 百度云 编辑:程序博客网 时间:2024/04/30 18:53

源码如下(DBUtil.java):

import java.io.IOException;

import java.io.InputStream;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Connection;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Properties;
public class DBUtil {
private String url = null;
private String driver = null;
private String  user = null;
private String  pass = null;
private Properties prop = null;
private InputStream in = null;
private ResultSet result = null;
private Connection conn = null;
private PreparedStatement ps = null;
private ResultSetMetaData resultData = null;
//初始化操作
{
try{
//从配置文件读取数据库配置信息
prop = new Properties();
in = DBUtil.class.getClassLoader().getResourceAsStream("dbinfo.properties");
prop.load(in);
driver = prop.getProperty("driver");
url = prop.getProperty("url");
user = prop.getProperty("user");
pass = prop.getProperty("pass");
//加载驱动
Class.forName(driver);   
}catch(Exception e){
e.printStackTrace();
}finally{
try{
in.close();
}catch(IOException e1){
e1.printStackTrace();
}
}
}

//带参数查询操作
public ArrayList<Object[]> ExecuteQuery(String sql,String[] parameters){

ArrayList<Object[]> arrayList = new ArrayList();
try{
conn = getConnection();
ps = conn.prepareStatement(sql);
if(parameters != null){
for(int i = 0; i < parameters.length;i++){
ps.setString(i+1, parameters[i]);
}
}
result = ps.executeQuery();
resultData = result.getMetaData();
int columnCount = resultData.getColumnCount();
while(result.next()){
Object[] object = new Object[columnCount];
for(int i = 0;i < object.length;i++){
object[i] = result.getObject(i+1);
}
arrayList.add(object);
}
}catch(SQLException e3){
System.out.println("SQL预编译出错");
e3.printStackTrace();
}finally{
this.close(result, conn, ps);
}
return arrayList;
}
//用于执行DDL和DML语句,执行DDL语句后返回0,执行DML后返回受影响的行数
public boolean ExecuteUpdate(String sql,String[] parameters){
boolean b = false;  //判断是否执行成功
try{
conn = getConnection();
ps = conn.prepareStatement(sql);
if(parameters != null){
for(int i = 0;i < parameters.length;i++){
ps.setObject(i+1, parameters[i]);
}
}
else{
System.out.println("参数为空!!!");
}
int j = ps.executeUpdate();
if(j != 0){
b = true;
}
}catch(SQLException e4){
e4.printStackTrace();
}finally{
this.close(result, conn, ps);
}
return b;
}

//获取数据库连接
public Connection getConnection(){
try{
conn = DriverManager.getConnection(url,user,pass);
}catch(SQLException e2){
System.out.println("获取数据库连接失败!!!");
e2.printStackTrace();
}
return conn;
}

//关闭连接
public void close(ResultSet rs,Connection connection,PreparedStatement pst){
try{
if(rs != null){
rs.close();
}
if(pst != null){
pst.close();
}
if(connection != null){
connection.close();
}
}catch(SQLException e3){
e3.printStackTrace();
System.out.println("关闭资源异常!!!");
}

}

}

配置文件dbinfo.properties如下:


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 4岁宝宝老踢被子怎么办 四线锁边机跳线怎么办 引流管伤口洞红怎么办 甘蔗卡在喉咙里怎么办 棉花被子生虫了怎么办 绗缝羽绒服钻毛怎么办 宝珠笔没墨水了怎么办 衣服上画的笔印怎么办 黑笔芯弄衣服上怎么办 圆珠笔油在皮上怎么办 不小心吞了水银怎么办 小孩吃了洗发露怎么办? 脸上被铅笔戳了怎么办 小孩吃了铅笔芯怎么办 小孩把橡皮吃了怎么办 用棉签掏耳朵里面疼怎么办 棉签头掉耳朵里怎么办 黑裤子老是粘毛怎么办 新买的裤子掉色怎么办 黑裤子容易粘毛怎么办 裤子粘了全部毛怎么办 纯棉裤子粘毛了怎么办 裤子粘毛怎么办怎么洗 黑裤子洗白了怎么办 新买床单有味道怎么办 新买的床单扎人怎么办 刚买的衣服皱了怎么办 橘子沾到衣服上怎么办 橘子水掉衣服上怎么办 菜汁滴在衣服上怎么办 饺子面和硬了怎么办 化纤衣服烫亮了怎么办 衣服穿久了发亮怎么办 买的毛衣长了怎么办 买的毛衣袖子长怎么办 新买的毛衣扎人怎么办 玻璃光纤线断了怎么办 家里光纤线断了怎么办 光纤线断了怎么办 找谁 光纤入户线断了怎么办 哈衣连体衣小了怎么办