最近研究百万级数据高效插入MySQL数据库时,特地封装BaseDao工具类,代码如下:
public class BaseDao { // 静态工具类,用于创建数据库连接对象和释放资源,方便调用
// 导入驱动jar包或添加Maven依赖(这里使用的是Maven,Maven依赖代码附在文末)
static {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
// 获取数据库连接对象
public static Connection getConn(String database, String username, String password) {
// rewriteBatchedStatements=true,一次插入多条数据,只插入一次
Connection conn = null;
try {
// useUnicode=true&characterEncoding=utf-8
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/" + database + "?rewriteBatchedStatements=true", username, password);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return conn;
}
// 释放资源
public static void closeAll(AutoCloseable... autoCloseables) {
for (AutoCloseable autoCloseable : autoCloseables) {
if (autoCloseable != null) {
try {
autoCloseable.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
这里将数据库名称提取出来是为了方便使用;
用户名及密码提取出来以提高安全性 ;
测试连接成功!
所用jar包或依赖如下:
<!--连接数据库所用到的mysql-connector-java依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
</dependency>
如有错误,欢迎指正
Thanks