DBUtil数据库操作工具类
来源:互联网 发布:mysql 默认是什么join 编辑:程序博客网 时间:2024/06/07 16:15
import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/** * 数据库操作帮助类 * @author wpj_service * */public class DBUtil {private static Connection getConnection(){Connection conn = null;try {//获取数据库链接,可以使用JDBC或者连接池conn = C3P0ConnentionProvider.getConnection();} catch (SQLException e) {LoggerUtil.insertLog("数据库连接出错");// TODO Auto-generated catch blocke.printStackTrace();}return conn;}/** * 关闭所有连接 */@SuppressWarnings("null")private static boolean closeAll(ResultSet rst,PreparedStatement pst, Connection conn) { // TODO 关闭所有连接 boolean flag = false; try { if(rst!=null){ rst.close(); } if(pst!=null||!pst.isClosed()){ pst.close(); } if(conn!=null||!conn.isClosed()){ conn.close(); flag = true; } } catch (SQLException e) { e.printStackTrace(); } return flag; }/** * 更新数据库操作 * @param sql * @return */public static int update(String sql){int i = 0 ;Connection conn = getConnection();ResultSet rs = null;PreparedStatement pst = null;try {conn = C3P0ConnentionProvider.getConnection();pst = conn.prepareStatement(sql);i = pst.executeUpdate();} catch (SQLException e) {LoggerUtil.insertLogError("数据库连接错误");// TODO Auto-generated catch blocke.printStackTrace();}finally{LoggerUtil.insertLogError("更新数据库:"+i);closeAll(rs, pst, conn); } return i ;}/** * 查询数据 * @return */public static List<Map<String,Object>> query(String sql){List<Map<String,Object>> list = null;Connection conn = getConnection();ResultSet rs = null;PreparedStatement pst = null;try {conn = C3P0ConnentionProvider.getConnection();pst = conn.prepareStatement(sql);rs = pst.executeQuery();list = getResultList(rs);} catch (SQLException e) {// TODO Auto-generated catch blockLoggerUtil.insertLogError("数据库连接错误");e.printStackTrace();}finally{LoggerUtil.insertLog("查询数据库");closeAll(rs, pst, conn); }return list;} /* * 解析ResultSet 表列数据 */ private static Map<String,Object> getResultMap(ResultSet rs) throws SQLException{ Map<String, Object> rawMap = new HashMap<String, Object>(); ResultSetMetaData rsmd = rs.getMetaData(); // 表对象信息 int count = rsmd.getColumnCount(); // 列数 // 遍历之前需要调用 next()方法 for (int i = 1; i <= count; i++) { String key = rsmd.getColumnLabel(i); Object value = rs.getObject(key); rawMap.put(key, value); } return rawMap; } /* * 解析ResultSet 表数据 */ private static List<Map<String,Object>> getResultList(ResultSet rs) throws SQLException{ List<Map<String,Object>> rawList = new ArrayList<Map<String,Object>>(); while(rs.next()){ Map<String, Object> rawMap = getResultMap(rs); rawList.add(rawMap); } return rawList; }}
阅读全文
0 0
- DBUtil数据库操作工具类
- jdbc数据库操作工具类--DBUtil
- 数据库工具类DBUtil
- DBUtil 数据库工具类
- (26)数据库工具类DbUtil
- JAVA- DBUtil 封装数据库工具类
- DBUtil数据库工具封装
- 我写的数据库操作类DBUtil
- 常用代码备忘录(封装 Apache Commons 的 DbUtils 实现的数据库操作工具类)-DBUtil.java
- Python 边做边学 8.3 工具类--数据库工具(DbUtil)
- DBUtil工具类
- DBUtil工具类JdbcUtil
- DBUtil工具类
- 关于数据库连接操作的工具类DBUtil.java
- Java 最简单的 数据库工具类 DbUtil
- JAVA学习笔记(五十一)- DBUtil 封装数据库工具类
- 数据库封装Dbutil类
- Qt数据库之数据库访问工具 DBUtil
- Logstash的性能测试
- File batch processing
- 什么是多态?为什么使用多态?
- PAT 乙级 1040. 有几个PAT(25)
- 函数重载,函数重写,虚函数,虚继承的概念以及深拷贝浅拷贝问题。
- DBUtil数据库操作工具类
- 好会计,用着快,省的多 ——智能云财务SaaS应用“好会计”
- OAuth详解之二:过程
- Eclipse中修改SVN用户名和密码方法
- hibernate对象懒加载,json序列化失败
- WebView加header
- Ubuntu搭建SSH服务器
- View的工作原理 理解MeasureSpec
- Spring Boot