第一阶段 开源框架源码\模块一:持久层框架设计\任务一:自定义持久层01
自定义持久层框架
传统JDBC
Connection conn = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
connention = DriverManager.getConnection("url", "username", "password");
//定义sql
String sql = "select * from user where username = ?";
preparedStatement = connection.preparedStatement(sql);
preparedStatement.setString(1, "tom");
//执行sql
resultSet = preparedStatement.executeQuery();
//遍历查询结果集
while(resultSet.next()){
int id = resultSet.getInt("id");
String username = resultSet.getString("username");
user.setId(id);
user.setUserName(username);
sout(user.toString());
}
问题:
- 第一段:
- 问题:
- 配置信息硬编码
- 频繁创建释放数据库连接
- 解决:
- 配置文件
- 连接池
- 问题:
- 第二段:
- 问题:
- sql语句、参数、获取结果集存在硬编码
- 解决:
- 配置文件
- 问题:
- 第三段:
- 问题:
- 手动封装结果集,繁琐
- 解决:
- 反射
- 问题: