1.原生态JDBC编程详解与问题总结
时间:2021-07-01 10:21:17
帮助过:2人阅读
java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
* jdbc编程
* @author asdc
*
*/
public class TestJDBC {
public static void main(String[] args) {
Connection connection =
null;
PreparedStatement preparedStatement =
null;
ResultSet resultSet =
null;
try {
Class.forName(
"com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(
"");
String sql =
"select * from Users where id = ?";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(
1,
"1111");
resultSet = preparedStatement.executeQuery();
while(resultSet.next()){
System.out.println(resultSet.getString(
"id")+
","+resultSet.getString(
"userName"));
}
}
catch (Exception e) {
e.printStackTrace();
}
finally{
if(resultSet !=
null){
try {
resultSet.close();
}
catch (Exception e2) {
}
}
if(preparedStatement !=
null){
try {
preparedStatement.close();
}
catch (Exception e2) {
}
}
if(connection !=
null){
try {
connection.close();
}
catch (Exception e2) {
}
}
}
}
}
3.问题总结
①.数据库连接用的时候创建开启,不用的时候关闭,频繁操作数据库。影响数据库性能
解决方案:使用数据库连接池
②使用sql查询时使用的硬编码到java代码中,如果需要修改sql语句需要重新编译java代码,不利于系统维护
解决方案:将sql语句配置到xml中,即使sql发生变化也不需要重新编译java代码
③向preparedStatement中设置参数,对占位符位置设置参数时,硬编码到java代码中,不利于系统维护
解决方案:配置到xml中,即使sql发生变化也不需要重新编译java代码
④从结果集中查询时存在硬编码如:resultSet.getString(“id”)
解决方案:查询完成直接映射成对象
1.原生态JDBC编程详解与问题总结
标签: