数据库操作文件 具有极高的重用价值
来源:互联网 发布:java 批量 ping ip 编辑:程序博客网 时间:2024/05/03 19:50
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());
}
}
}
- 数据库操作文件 具有极高的重用价值
- 数据库操作文件 具有极高的重用价值
- 具有参考价值的空间
- 淘宝内部php操作数据库处理类技术含量极高
- 代码重用的价值被严重高估?
- 代码重用的价值被严重高估?
- 用java描述下面三个故事,要求有极高的重用性,可扩展性。请指教!
- 满足极高读写性能需求的Key-Value数据库
- 满足极高读写性能需求的Key-Value数据库
- SOA的业务价值分析:重用和透明
- 可重用数据库操作基本类
- 外链的存在具有一定的价值
- 这个网站的资料很好。具有参考价值
- 2014年最值具有价值的十大行业
- 逼格极高的注释
- 7-Zip 是一款免费的文件压缩、解压软件,拥有极高的压缩率
- 压缩具有中文名称的文件
- 无法升级数据库 'SchoolPlatForm1',因为它是只读的,或者具有只读文件。请将数据库或文件设为可写,然后重新运行恢复操作。 (Microsoft SQL Server,错误: 3415)
- request.form和request.querystring的区别
- C++Primer中文版中的练习
- 修改NLS_DATE_FORMAT参数
- 昨日歌、今日歌、明日歌
- 数据库操作文件 具有极高的重用价值
- 数据库操作文件 具有极高的重用价值
- 什么是SVN
- org.w3c.dom 解析XML文件 可以解析出节点属性
- 无奈的大学生活
- javascript将数字金额变成中文大写金额
- Total Commander不完全手册 - 使用篇
- 王菲 单行道 今天忽然听
- 使用LoadRunner录制脚本时如何选择合适的协议?
- 从小到大最梦想的两样东西