JDBCUtill---JDBC封装---优化
1.创建属性文件工具类db.properties
将属性文件工具类db.properties创建在src下。位置如图所示。
jdbc.classname = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/t_store?characterEncoding=utf8 //数据库位置
jdbc.user = root //数据库用户名
jdbc.password = aoxixi //数据库用户密码
2.封装jdbc的驱动加载和连接和关闭
读取属性文件工具类db.properties对classname、url、user、password进行赋值。
- 读取属性文件工具类db.properties
- 加载属性文件数据到内存中
- 通过key获取value值
步骤:
- 成员变量
- 加载驱动
- 创建连接
- 关闭连接
- 测试
package cn.aust.shopping.util;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
/**
* 工具类:封装jdbc的驱动加载和连接和关闭
*/
public class JDBCUtil {
//成员变量
private static String classname ;
private static String url ;
private static String user ;
private static String password;
//加载驱动
static{
try {
//读取属性文件工具类db.properties
Properties prop = new Properties();
//加载属性文件数据到内存中
prop.load(JDBCUtil.class.getClassLoader().getResourceAsStream("db.properties"));
//通过key获取value值
classname = prop.getProperty("jdbc.classname");
url = prop.getProperty("jdbc.url");
user = prop.getProperty("jdbc.user");
password = prop.getProperty("jdbc.password");
Class.forName(classname);
} catch(ClassNotFoundException | IOException e) {
e.printStackTrace();
}
}
/**
* 创建连接
*/
public static Connection getConn() throws SQLException{
Connection conn = DriverManager.getConnection(url,user,password);
return conn;
}
/**
* 关闭连接
*/
public static void release(Connection conn){
if(conn !=null){
try{
conn.close();
}catch (SQLException e)
{
e.printStackTrace();
}
}
}
//测试
public static void main(String[] args) throws SQLException {
Connection conn = JDBCUtil.getConn();
System.out.println(conn);
}
}