package utils;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.sql.*;
import java.util.Properties;
/**
* @description: 定义一个JDBC 的工具类,来注册驱动 .获取 connection对象 .关闭资源
* @author: Tiancy
* @time: 2020/8/19 15:18
*/
public class JdbcUtils {
private static String url;
private static String username;
private static String password;
private static String driver;
//静态代码块用来加载文件进入内存,只加载一次.读取资源文件,获取值.
/*
1.创建集合类.
2.加载文件
3.获取文件里的值,给静态常量赋值.
4.注册驱动
*/
static {
try {
Properties pro = new Properties();
//获取src路径下的文件的方式--->ClassLoader 类加载器
ClassLoader loader = JdbcUtils.class.getClassLoader();
URL resource = loader.getResource("jdbc.properties");
// ClassLoader classLoader = JDBCUtils.class.getClassLoader();
// URL res = classLoader.getResource("jdbc.properties");
//获取资源路径
String path = resource.getPath();
//加载文件,读取文件中的内容
pro.load(new FileReader(path));
//获取文件里的内容,并赋值
url = pro.getProperty("url");
username = pro.getProperty("username");
password = pro.getProperty("password");
driver = pro.getProperty("driver");
//注册驱动
Class.forName(driver);
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
//获取连接
return DriverManager.getConnection(url, username, password);
}
/**
* @return
* @Author tiancy
* @Description // 关闭资源 Statement Connection
* @Date 15:41 2020/8/19
* @Param
*/
public static void close(Statement stmt, Connection conn) {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* @return
* @Author tiancy
* @Description //关闭资源 Connection Connection ResultSet
* @Date 15:43 2020/8/19
* @Param
*/
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();
}
}
}
}
JDBC操控数据库的Utils类
最新推荐文章于 2023-06-09 17:38:28 发布