上一讲讲了jdbc的基本用法,jdbc就是通过java代码注册连接到数据库然后使用java代码进行操作数据库,但是在实际操作中需要经常用到注册和连接代码因此我们这里可以创建一个工具类,方便随时使用工具类中的方法。
首先我们可以创建一个文件,在该文件中书写注册新的代码,如下:其中localhost表示本地的ip地址,若想连接其他的ip地址也可以,改成相应的地址就行,3306代码我这个本地地址的接口,想连接其他端口也可以,操作同上。
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=root123456
然后我们创建一个类,如下:
package utils;
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
public class jdbcUtils {
//1、私有化构造方法
private jdbcUtils(){
}
//2、声明所需要的配置变量
private static String driverClass;
private static String url;
private static String username;
private static String password;
private static Connection con;
//3、提供静态代码块,赋值,注册驱动
static {
try {
//读取配置文件的信息为变量赋值
InputStream resourceAsStream = jdbcUtils.class.getClassLoader().getResourceAsStream("config.properties");
Properties prop = new Properties();
prop.load(resourceAsStream);
driverClass=prop.getProperty("driverClass");
url=prop.getProperty("url");
username=prop.getProperty("username");
password=prop.getProperty("password");
//注册驱动
Class.forName(driverClass);
} catch (IOException e) {
throw new RuntimeException(e);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
//4、连接数据库
public static Connection getCollection(){
Connection con= null;
try {
if (con==null){
con = DriverManager.getConnection(url, username, password);
threadLocal.set(con);
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
return con;
}
public static void close(Connection con, Statement stat, ResultSet rs) {
if (con!=null){
try {
con.close();
threadLocal.remove();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
if (stat!=null){
try {
stat.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
if (rs!=null){
try {
rs.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
}
这样我们工具类就创建完成,书写代码只需要直接调用即可。