//注册驱动
Class.forName("com.mysql.jdbc.Driver");
//获得连接
Connection connection = DriverManager.getConnection("jdbc:mysql:///test","root","root");
//获得statement
PrepareStatement statement = connection.prepareStatement("select id,username,pwd from user");
//执行查询
ResultSet resultSet = statement.executeQuery();
//遍历结果集
while(resultSet.next()){
//封装实体
User user = new User();
user.setId(resultSet.getInt("id"));
.....
}
//释放资源
resultSet.close();
statement.close();
connection.close();
原始jdbc操作的分析
原始jdbc开发存在的问题是:
- 数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能;
- slq语句在代码中硬编码造成代码不易维护,实际应用sql变化的可能性大,slq变动需要改变Java代码
- 查询操作时,需要手动将结果集中的数据手动封装到实体总。插入操作时,需要手动将实体的数据设置到slq语句的占位符位置
应对上述问题的解决方案:
- 使用数据库连接池初始化连接资源
- 将sql语句抽取到xml配置文件中
- 使用反射、等底层技术,自动将实体与表进行属性与字段的自动映射;