现在jdbc很少用了,但是涉及到多数据源的时候,还是可以用的到的,这里整理了一份数据库连接工具类,话不多说,直接上代码
创建一个MysqlOperator 的java文件,下方的代码可以直接复制过去
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import java.sql.*;
import java.util.List;
/**
* author :byH
* date :Created 2020/12/17 10:11
* description:jdbc数据库连接工具
*/
@Slf4j
public class MysqlOperator {
final static String driver = "com.mysql.jdbc.Driver";//mysql
// 加载驱动程序
static {
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 执行查询sql语句,获取返回值
* @param conn 创建连接
* @param sql sql语句
* @param paramList 查询的字段
* @return result 返回值
*/
public static JSONArray selectSql(Connection conn , String sql, List<String> paramList) {
//创建必要参数
JSONArray jsonArray = new JSONArray();
log.info("sql:" + sql);
// 创建连接
try {
if (conn == null) {
log.info("创建连接失败");
return null;
}
// 创建Statement对象
Statement stmt = conn.createStatement();
// 执行sql查询
ResultSet resultSet = stmt.executeQuery(sql);
while (resultSet.next()) {
JSONObject jsonObject = new JSONObject();
for (String param : paramList) {
jsonObject.put(param, resultSet.getString(param));
}
jsonArray.add(jsonObject);
}
return jsonArray;
} catch (SQLException throwables) {
throwables.printStackTrace();
return null;
}
}
/**
* 执行增删改sql语句,获取返回值
*
* @param conn 创建连接
* @param sql sql语句
* @return result 返回值
*/
public static int updateSql(Connection conn, String sql) {
log.info("sql:" + sql);
try {
if (conn == null) {
log.info("创建连接失败");
return -1;
}
// 创建Statement对象
Statement stmt = conn.createStatement();
// 执行sql查询
return stmt.executeUpdate(sql);
} catch (SQLException throwables) {
throwables.printStackTrace();
return -1;
}
}
/**
* 创建连接
*
* @param url:jdbc地址
* @param user 用户名
* @param password 密码
* @return result 返回值
*/
public static Connection getConn(String url, String user, String password) throws SQLException {
return DriverManager.getConnection(url, user, password);
}
/**
* 关闭连接
*
* @param conn conn
*/
public static void closeConn(Connection conn) throws SQLException {
if (conn != null && !conn.isClosed()) {
conn.close();
}
}
}
调用:
创建连接 MysqlOperator.getConn
查询 MysqlOperator.selectSql
增删改 MysqlOperator.updateSql
关闭连接 MysqlOperator.closeConn