JDBC数据库操作代码模版

package com.oolong.util;

import java.sql.Connection;
import java.sql.DriverManager;
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; public class DBHelper { private String driverName = "com.mysql.jdbc.Driver";
private String url = "jdbc:mysql://localhost:3306/hrms?useSSL=true";
private String userName = "root";
private String password = "1234";
private Connection conn; private static DBHelper dbHelper; public static Connection getConnection(){
if (dbHelper == null) {
DBHelper.dbHelper = new DBHelper();
}
return dbHelper.conn;
} private DBHelper() {
try {
Class.forName(driverName);
this.conn = DriverManager.getConnection(url, userName, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
} public static int executeUpdate(String sql, String[] param) {
Connection conn = null;
PreparedStatement pst = null;
int res = 0; try{
conn = DBHelper.getConnection();
pst = conn.prepareStatement(sql); for (int i = 0; i < param.length; i++) {
pst.setString(i+1, param[i]);
} res = pst.executeUpdate(); pst.close();
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return res;
} public static List<Map<String, Object>> executeQuery(String sql) {
return executeQuery(sql, new String[0]);
} public static List<Map<String, Object>> executeQuery(String sql, String[] param) {
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;
List<Map<String, Object>> resut = new ArrayList<>();
Map<String, Object> map = null;
try{
conn = DBHelper.getConnection();
pst = conn.prepareStatement(sql); for (int i = 0; i < param.length; i++) {
pst.setString(i+1, param[i]);
} rs = pst.executeQuery(); ResultSetMetaData rsm = rs.getMetaData();
String[] columns = new String[rsm.getColumnCount()]; for (int i = 0; i < rsm.getColumnCount(); i++) {
columns[i] = rsm.getColumnName(i + 1);
} rs.beforeFirst(); while(rs.next()) {
map = new HashMap<>();
for(String col : columns) {
map.put(col, rs.getObject(col));
}
resut.add(map);
}
rs.close();
pst.close();
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return resut;
}
}

最新文章

  1. On cloud, be cloud native
  2. google play iap 常见问题
  3. Delphi的枚举类型
  4. 使用 Velocity 模板引擎快速生成代码
  5. python uuid、hex study
  6. 如何解决inline-block元素的空白间距
  7. flume+hadoop
  8. Ubuntu 14.04 AM335x TI-RTOS 编译
  9. java 常用集合例子
  10. ListCtrl控件着色
  11. 开源Math.NET基础数学类库使用(01)综合介绍
  12. wpf软件某些分辨率下文字模糊解决方法
  13. [cacti]nginx+php+cacti+mysql+php-fpm 安装小记
  14. List集合中元素排序
  15. 图解CSS3核心技术与案例实战(1)
  16. easyui 信息提示
  17. CF868 F. Yet Another Minimization Problem 决策单调优化 分治
  18. kubernetes的apiserver
  19. Spark streaming的正确使用。。
  20. 前端使用AngularJS的$resource,后端ASP.NET Web API,实现增删改查

热门文章

  1. 【Git的基本操作九】ssh免密登录
  2. Samba set of user authentication and file access rights
  3. 逆向破解H.Koenig 遥控器 Part 2
  4. linux学习笔记七
  5. deep_learning_Function_os.makedirs()
  6. ISO/IEC 15444-12 MP4 封装格式标准摘录 3
  7. 执行nvidia-smi出错
  8. js excel导出功能
  9. EntityFrameworkCore
  10. 201871010104-陈园园《面向对象程序设计(java)》第十七周学习总结