<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工具类
最新推荐文章于 2021-02-03 15:17:53 发布