通过工具类的编写,减少jdbc的代码量,减少数据的冗余
jdbc.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?useSSL=false
user=root
pwd=li1234
DBUtils.java
public class DBUtils {
private static String driver;
private static String url;
private static String username;
private static String password;
static {
try {
//1.创建properties集合类
Properties pro = new Properties();
//2.加载文件
//创建类加载器
//通过相对路径,得到jdbc.properties的路径
ClassLoader classLoader = DBUtils1.class.getClassLoader();
URL res = classLoader.getResource("jdbc.properties");
String path = res.getPath();
//将路径传给pro,读取数据库配置文件
pro.load(new FileReader(path));
//3.获取值 (通过key,获取value)
driver = pro.getProperty("driver");
url = pro.getProperty("url");
username = pro.getProperty("user");
password = pro.getProperty("password");
} catch (IOException e) {
e.printStackTrace();
}
}
//获取数据库连接
public static Connection getConn() throws SQLException {
return DriverManager.getConnection(url, username, password);
}
//关闭连接
public static void close(ResultSet rs, Statement stat, Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stat != null) {
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//使用方法的重载,关闭连接
public static void close(Connection conn, Statement stat) {
if (stat != null) {
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
try {
Connection conn = DBUtils1.getConn();
if (conn != null) {
System.out.println("连接成功");
}else{
System.out.println("失败");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}