第一阶段 开源框架源码模块一:持久层框架设计任务一:自定义持久层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语句、参数、获取结果集存在硬编码
    • 解决:
      • 配置文件
  • 第三段:
    • 问题:
      • 手动封装结果集,繁琐
    • 解决:
      • 反射

原文地址:https://www.cnblogs.com/pipicai96/p/13997320.html