原生态JDBC以及问题
时间:2021-07-01 10:21:17
帮助过:19人阅读
static void main(String[] args) {
Connection connection =
null;
PreparedStatement preparedStatement =
null;
ResultSet resultSet =
null;
try {
//1、加载数据库驱动
Class.forName("com.mysql.jdbc.Driver"
);
//2、通过驱动管理类获取数据库链接
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8", "root", "root"
);
//3、定义sql语句 ?表示占位符
String sql = "select * from user where username = ?"
;
//4、获取预处理statement
preparedStatement =
connection.prepareStatement(sql);
//5、设置参数,第一个参数为sql语句中参数的序号(从1开始),第二个参数为设置的参数值
preparedStatement.setString(1, "王五"
);
//6、向数据库发出sql执行查询,查询出结果集
resultSet =
preparedStatement.executeQuery();
//7、遍历查询结果集
while(resultSet.next()){
User user
System.out.println(resultSet.getString("id")+" "+resultSet.getString("username"
));
}
} catch (Exception e) {
e.printStackTrace();
}finally{
//8、释放资源
if(resultSet!=
null){
try {
resultSet.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(preparedStatement!=
null){
try {
preparedStatement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(connection!=
null){
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
出现的问题总结:
1.在代码1中可以看出创建连接的时候存在硬编码。(通过配置来解决)
2.在执行statement时存在硬编码。(通过配置来解决)
3.频繁的开启和关闭数据库连接,会造成数据库性能下降。
数据库连接池(全局配置文件)
原生态JDBC以及问题
标签:第一个 开始 数据库连接池 oid rom pre mysql 资源 加载