您的位置:首页 > 数据库

数据库操作文件 具有极高的重用价值

2008-05-22 17:07 453 查看
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBConnection {
static private String strDriver = "com.mysql.jdbc.Driver";
static private String strUrl = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gb2312";
static private String strUser = "root";
static private String strPwd = "123456";
private Connection conn = null;
private Statement stmt = null;
private ResultSet rs = null;
//写在静态块里面 初始化一次就可以了 节省资源
static {
try {
Class.forName(strDriver);
} catch (ClassNotFoundException ex) {
System.out.println("Error load" + strDriver);
}
}
public DBConnection() {
}
//获得一个 连接对象
private Connection getConnection() {
try {
if (conn == null || conn.isClosed())
conn = DriverManager.getConnection(strUrl, strUser, strPwd);
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
return conn;
}
//获得一个Statement对象
private Statement getStatement() {
try {
if (stmt == null)
stmt = getConnection().createStatement();
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
return stmt;
}
//可执行查询语句 返回一个结果集合
public ResultSet executeQuery(String sql) {
try {
rs = getStatement().executeQuery(sql);
} catch (SQLException ex) {
System.err.println("query error:" + ex.getMessage());
}
return rs;
}
//执行一系列的sql语句 执行成功 返回true 否则false
public boolean executeBatch(java.util.ArrayList sqls) {
boolean bRet = false;
try {
conn = getConnection();
conn.setAutoCommit(false);
stmt = conn.createStatement();
for (int i = 0; i < sqls.size(); i++) {
String sql = (String) sqls.get(i);
stmt.addBatch(sql);
}
stmt.executeBatch();
conn.commit();
bRet = true;
} catch (Exception ex) {
try {
conn.rollback();
} catch (Exception ex2) {
System.err.println("rollback failed:" + ex2.getMessage());
}
ex.printStackTrace();
} finally {
}
return bRet;
}
//执行插入 删除 更新 返回一个数值 (INSERT、UPDATE 或 DELETE 语句)
public int executeUpdate(String sql) {
int resultNum = 0;
try {
resultNum = getStatement().executeUpdate(sql);
} catch (SQLException ex) {
System.err.println("update error:" + ex.getMessage());
} finally {
}
return resultNum;
}
//关闭资源
public void close() {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (Exception ex) {
System.err.println("close error:" + ex.getMessage());
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐