封装
配置文件
driverClassName=com.mysql.cj.jdbc.Driver
username=root
password=123456
url=jdbc:mysql://localhost:3306/test
封装类
package com.utils;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
public class JdbcUtils {
private static DataSource dataSource = null;
static {
Properties properties = new Properties();
InputStream stream = JdbcUtils.class.getResourceAsStream("/druid.properties");
try {
properties.load(stream);
} catch (IOException e) {
e.printStackTrace();
}
try {
dataSource = DruidDataSourceFactory.createDataSource(properties);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
return dataSource.getConnection();
}
public static void freeConnection(Connection connection) throws SQLException {
connection.close();
}
}
测试类
package com.cheng;
import com.utils.JdbcUtils;
import org.junit.jupiter.api.Test;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class TestJdbcUtils {
@Test
public void insert() throws Exception {
Connection connection = JdbcUtils.getConnection();
String sql = "insert into test.t_bank(account, money) values (?, ?)";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setObject(1, "hello");
statement.setObject(2, 1000);
int i = statement.executeUpdate();
if (i > 0){
System.out.println("插入成功!");
}else {
System.out.println("插入失败!");
}
JdbcUtils.freeConnection(connection);
}
}
结果
三月 31, 2023 7:06:14 下午 com.alibaba.druid.pool.DruidDataSource info
信息: {dataSource-1} inited
插入成功!
Process finished with exit code 0