标签:
第一个为mysql驱动包
第二个为oracle驱动包
import 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;
//使用预编译statement,使用预编译statement提升数据库性能
PreparedStatement preparedStatement = null;
//结果集
ResultSet resultSet = null;
try {
//1.加载数据库驱动包
Class.forName("com.mysql.jdbc.Driver");
//2.通过驱动管理获取数据库连接
connection = DriverManager.getConnection("");
//3.定义sql语句
String sql = "select * from Users where id = ?";
//4.获取预处理statement,设置参数
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, "1111");
//5.向数据库发出sql执行查询,查出结果集
resultSet = preparedStatement.executeQuery();
//6.遍历查询结果集
while(resultSet.next()){
System.out.println(resultSet.getString("id")+","+resultSet.getString("userName"));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{//释放资源 从下向上释放
if(resultSet != null){
try {
resultSet.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
if(preparedStatement != null){
try {
preparedStatement.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
if(connection != null){
try {
connection.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
}
}
}
①.数据库连接用的时候创建开启,不用的时候关闭,频繁操作数据库。影响数据库性能
解决方案:使用数据库连接池
②使用sql查询时使用的硬编码到java代码中,如果需要修改sql语句需要重新编译java代码,不利于系统维护
解决方案:将sql语句配置到xml中,即使sql发生变化也不需要重新编译java代码
③向preparedStatement中设置参数,对占位符位置设置参数时,硬编码到java代码中,不利于系统维护
解决方案:配置到xml中,即使sql发生变化也不需要重新编译java代码
④从结果集中查询时存在硬编码如:resultSet.getString(“id”)
解决方案:查询完成直接映射成对象
标签:
原文地址:http://blog.csdn.net/qaz540411484/article/details/51348609