今天自己定义了一个JDBC的工具类,突然感觉自己是个大神了,有点厉害啊,但是其实是老师先讲了一遍思路,然后才让我们自己写的,但是我相信在我的努力学习下,总有一天我能凭自己写出来比这更好的代码。加油!!!
/*定义工具类
1. 定义一个类 JDBCUtils
2. 提供静态代码块加载配置文件,初始化连接池对象
3. 提供方法
1. 获取连接方法:通过数据库连接池获取连接
2. 释放资源
3. 获取连接池的方法 */import com.alibaba.druid.pool.DruidDataSourceFactory;
import day06.Demo02Druid;
import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class JDBCUtilsPool { //定义成员变量 DataSource
private static DataSource ds = null;
static {
try {
//加载配置文件
Properties pro = new Properties();
InputStream is = JDBCUtilsPool.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(is);
//2.获取DataSource
ds = DruidDataSourceFactory.createDataSource(pro);
} catch (Exception e) {
e.printStackTrace();
}
}
//获取连接
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
//获取连接池方法
public static DataSource getDataSource() {
return ds;
}
//释放资源
public static void close(ResultSet rs, Statement stmt, Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();//归还连接
} catch (SQLException e) {
e.printStackTrace();
}
}
}}
|
|