jdbc.properties配置文件
#数据库用户名
user=root
#数据库密码
password=wj898100
#数据库连接地址url
url=jdbc:mysql://localhost:3306/db_mytest?useSSL=false
# 驱动
driverClass=com.mysql.jdbc.Driver
直接上代码部分
/**
* @Description: 通过jdbc.properties系统配置文件建立数据库连接执行sql过程和步骤
* @BelongsPackage: org.example
* @Author: WangJun
* @CreateTime: 2023-02-18 15:01
* @Version: 1.0
*/
public class JDBCConnectionProperties {
@Test
public void getConnectionProperties() {
// 1。解析配置文件
InputStream resourceAsStream = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties");
Properties properties = new Properties();
Connection connection = null;
PreparedStatement preparedStatement = null;
try {
// 2.加载jdbc.properties配置文件信息,null判断防止NullPointException
properties.load(resourceAsStream);
if (properties == null) {
throw new RuntimeException();
}
// 3.获取配置信息
String user = properties.getProperty("user");
String passWord = properties.getProperty("password");
String url = properties.getProperty("url");
String driverClass = properties.getProperty("driverClass");
// 4.加载驱动
Class.forName(driverClass);
// 5.创建连接
connection = DriverManager.getConnection(url, user, passWord);
// 6.预编译sql
String querySql = "select * from t_user where id = (?)";
preparedStatement = connection.prepareStatement(querySql);
// 7。参数替换
preparedStatement.setInt(1, 1001);
// 8.执行sql语句
ResultSet rs = preparedStatement.executeQuery();
// 9.处理sql语句执行的结果
while (rs.next()) {
System.out.println(rs.getInt("age") + "==" + rs.getString("username"));
}
} catch (IOException e) {
throw new RuntimeException(e);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
} catch (SQLException e) {
throw new RuntimeException(e);
} finally {
// 10.关闭资源
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
if (preparedStatement != null) {
try {
preparedStatement.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
try {
resourceAsStream.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}