什么时候自己创建工具类
- 如果一个功能经常要用到, 我们建议把这个功能做成一个工具类, 可以在不同的地方重用
- 获得数据库连接操作,将在以后的增删改查所有功能中都存在.所以可以封装工具类
JDBCUtils
,提供获取连接对象的方法, 从而达到代码重复利用
JDBC工具类包含的内容
- 自定义成员常量: 用户名,密码,URL,驱动类
- 自定义成员方法
getConnection()
获取连接 - 关闭所有打开的资源
JDBCUtils示例代码
public class JDBCUtils {
private static final String DATABASE = "lianxi01";
private static final String USER = "root";
private static final String PASSWORD = "316426";
private static final String URL = "jdbc:mysql://localhost:3306/" + DATABASE + "?characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
private static Connection conn = null;
private static Statement sqlExecute = null;
// a. 获取连接
public static Connection getConnection(){
try {
// 1. 注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 2. 连接数据库
conn = DriverManager.getConnection(URL, USER, PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return conn;
}
// b. 获取语句执行平台 Statement对象
public static Statement createStatement(Connection conn){
// 3. 获取语句执行平台
try {
sqlExecute = conn.createStatement();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return sqlExecute;
}
// 3. 关闭流对象 --- 未执行查询语句
public static void close(Connection conn, Statement sqlExecute){
try {
if(null != sqlExecute) {
sqlExecute.close();
}
if(null != conn) {
conn.close();
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
// 关闭流对象 --- 执行查询语句 方法重载
public static void close(Connection conn, Statement sqlExecute, ResultSet resultset){
try {
if(null != resultset) {
resultset.close();
}
if(null != sqlExecute) {
sqlExecute.close();
}
if(null != conn) {
conn.close();
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。