一:手写获得数据库连接 对象类
1.为简化开发,提高代码复用.开发中获得连接的4个参数(驱动、URL、用户名、密码)通常都存在配置文件中,方便后期维护,程序如果需要更换数据库,只需要修改配置文件即可。
通常情况下,我们习惯使用properties文件,此文件我们将做如下要求:
- 文件位置:任意,建议src下
- 文件名称:任意,扩展名为properties
- 文件内容:一行一组数据,格式是“key=value”.
- key命名自定义,如果是多个单词,习惯使用点分隔。例如:jdbc.driver
- value值不支持中文,如果需要使用非英文字符,将进行unicode转换。
2.创建配置文件
在项目跟目录下,创建文件,输入“db.properties”文件名。
文件内容:
driverClass=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/my?useUnicode=true&characterEncoding=UTF8&useSSL=false&serverTimezone=GMT%2B8
username=root
password=20182022
注意:高版本的mysql驱动类以及url的变化
3.加载配置文件
对应properties文件处理,开发中也使用Properties对象进行。我们将采用加载properties文件获得流,然后使用Properties对象进行处理。
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
public class JDBCUtilsConfig {
//静态代码块
private static Connection con;
private static String driverClass;
private static String url;
private static String username;
private static String password;
static {
try {
readConfig();
Class.forName(driverClass);
con=DriverManager.getConnection(url, username, password);
}catch(Exception e) {
throw new RuntimeException("数据库连接失败!");
};
}
private static void readConfig()throws Exception {
InputStream in=JDBCUtilsConfig.class.getClassLoader().getResourceAsStream("database.properties");
Properties pro= new Properties();
// 使用Properties处理流
// 使用load()方法加载指定的流
pro.load(in);
driverClass=pro.getProperty("driverClass");
//使用getProperty(key),通过key获得需要的值,
url=pro.getProperty("url");
username=pro.getProperty("username");
password=pro.getProperty("password");
};
public static Connection getConnection(){
return con;
//调用该类的方法则直接拿到数据库连接对象
}
}