JDBC——DBHelper代码模版
2024-09-24 18:12:56
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;
}
}
最新文章
- On cloud, be cloud native
- google play iap 常见问题
- Delphi的枚举类型
- 使用 Velocity 模板引擎快速生成代码
- python uuid、hex study
- 如何解决inline-block元素的空白间距
- flume+hadoop
- Ubuntu 14.04 AM335x TI-RTOS 编译
- java 常用集合例子
- ListCtrl控件着色
- 开源Math.NET基础数学类库使用(01)综合介绍
- wpf软件某些分辨率下文字模糊解决方法
- [cacti]nginx+php+cacti+mysql+php-fpm 安装小记
- List集合中元素排序
- 图解CSS3核心技术与案例实战(1)
- easyui 信息提示
- CF868 F. Yet Another Minimization Problem 决策单调优化 分治
- kubernetes的apiserver
- Spark streaming的正确使用。。
- 前端使用AngularJS的$resource,后端ASP.NET Web API,实现增删改查
热门文章
- 【Git的基本操作九】ssh免密登录
- Samba set of user authentication and file access rights
- 逆向破解H.Koenig 遥控器 Part 2
- linux学习笔记七
- deep_learning_Function_os.makedirs()
- ISO/IEC 15444-12 MP4 封装格式标准摘录 3
- 执行nvidia-smi出错
- js excel导出功能
- EntityFrameworkCore
- 201871010104-陈园园《面向对象程序设计(java)》第十七周学习总结