一、创建jdbcUtils
package com.hs.common.utils.jdbc;
import java.sql.*;
/**
* jdbc工具类
*/
public class JDBCUtils {
public static Connection getConn(String db_class,String db_url,String db_user,String db_password) {
Connection conn = null;
try {
Class.forName(db_class);
conn = DriverManager.getConnection(db_url, db_user, db_password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static void close(Statement state, Connection conn) {
if (state != null)
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void close(ResultSet rs, Statement state, Connection conn) {
if (rs != null)
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (state != null)
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
二、jdbc的使用
// 创建连接
Connection conn = JDBCUtils.getConn(className, url, userName, password);
PreparedStatement pSta = conn.prepareStatement(sql);
if (pSta.execute()) {
ResultSet rs = pSta.executeQuery();
ResultSetMetaData md = rs.getMetaData();//获取键名
int columnCount = md.getColumnCount();
List<Map> list = new ArrayList<>();
while (rs.next()) {
Map<String, Object> rowData = new HashMap<>();//声明Map
for (int i = 1; i <= columnCount; i++) {
rowData.put(md.getColumnName(i), rs.getObject(i));//获取键名及值
}
list.add(rowData);
}
JDBCUtils.close(pSta, conn);
} else {
JDBCUtils.close(pSta, conn);
}