数据库工具类
数据库工具类
通过学习我们知道,连接一个数据库很麻烦,代码很多,而且像注册驱动这些代码我们在项目的启动后只需要执行一次。所以我们能不能写一个数据库连接的工具类呢?
**
* @program: Dream
* @description: 数据库工具类
* @author: stop.yc
* @create: 2022-03-18 10:57
**/
public class DbUtil {
private static String driver = null;
private static String url = null;
private static String username = null;
private static String password = null;
/*配置信息,程序运行后,只要一次,就不会改变了,然后驱动加载也只需要一次,那么就是用静态代码块,程序运行后,运行一次*/
static {
try {
//通过字节输入流,获取文件中的配置信息.
InputStream in = DbUtil.class.getClassLoader().getResourceAsStream("db.properties");
//文件加载
Properties properties = new Properties();
properties.load(in);
//获取
driver = properties.getProperty("driver");
url = properties.getProperty("url");
username = properties.getProperty("username");
password = properties.getProperty("password");
//加载驱动(如果在这里出现NPE的话,看看是不是没有导入连接jar包)
Class.forName(driver);
} catch (Exception e) {
e.printStackTrace();
}
}
//外部调用获取连接方法,被CRUD工具类调用
public static Connection getCon() throws Exception {
return DriverManager.getConnection(url,username,password);
}
//外部调用关闭方法.被CRUD工具类调用
public static void close(Connection con,PreparedStatement ps,ResultSet rs) {
if(rs!=null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ps!=null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(con!=null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
//包同级目录下,新建一个文件,db.properties,内容如下:
driver=com.mysql.jdbc.Driver
#db——dream为你的项目名称
url=jdbc:mysql://localhost:3306/db_dream?useUnicode=true&characterEncoding=utf8&useSSL=false
#数据库的账号密码
username=username
password=password
关于CRUD工具类,就请到另一篇文章看看,顺便学习一下CRUD的封装 CRUD