<strong><span style="font-family:Microsoft YaHei;font-size:14px;">package xuan.news.dao.impl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
/**
*
* @author 陳軒
*
*/
public class DBhelper {
public static Connection conn =null;//數據庫連接對象
public static ResultSet rs = null;//處理結果集
public static PreparedStatement ps = null;//想數據庫發送SQL腳本
public static String user = "sa";//數據庫用戶
public static String password = "";//數據庫用戶密碼
public static String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//驅動字符串
public static String url = "jdbc:sqlserver://localhost:1433;databaseName=NewsManagerSystem";//數據庫連接字符串
/**
* 獲取數據庫連接
* @throws ClassNotFoundException
* @throws SQLException
*/
public static Connection getConnection() throws ClassNotFoundException, SQLException{
// Class.forName(driver);
// conn = DriverManager.getConnection(url, user, password);
DataSource ds=null;
try {
Context ctx = new InitialContext();
ds = (DataSource)ctx.lookup("java:comp/env/jdbcnews");
conn=ds.getConnection();
} catch (NamingException e) {
System.out.println(e.getMessage());
}
return conn;
}
/**
* 關閉所有連接
*/
public static void consoleAll(){
try {
if(rs!=null)
rs.close();
if(ps!=null)
ps.close();
if(conn!=null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 增刪改
*/
public static int update(String sql ){
return update(sql,null);
}
public static int update(String sql ,Object[] obj){
int count =0;//用於保存受影響行數
try {
getConnection();//打開連接
ps = conn.prepareStatement(sql);//獲取SQL存入ps
if(obj!=null){
for (int i = 0; i < obj.length; i++) {
ps.setObject(i+1, obj[i]);//SQL查詢所用的參數賦值給SQL
}
}
count=ps.executeUpdate();//執行SQL獲取結果
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
consoleAll();
}
return count;
}
/**
* 查詢(調用此方法後應及時調用consoleAll()關閉連接)
*/
public static ResultSet Query(String sql ){
return Query(sql,null);
}
public static ResultSet Query(String sql,Object[] obj) {
try {
getConnection();
ps=conn.prepareStatement(sql);
if(obj!=null)
for (int i = 0; i < obj.length; i++) {
ps.setObject(i+1, obj[i]);
}
rs=ps.executeQuery();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
}
</span></strong>
JDBC工具類
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.