一、自定义持久层框架
1.1 分析
持久层。与数据交互的一层。Dao层 。
可能存在的问题:
问题 | 代码 | 解决方案 |
硬编码。对底层驱动和数据库配置信息硬编码 |
Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection("jdbc::mysql://localhost:
|
通过配置文件 |
每一次请求都开启新链接。每次建立TCP链接,影响性能。频繁创建、释放链接 | 同上 |
通过连接池 |
sql语句、设置参数存在硬编码 |
String sql = "select * from user where username = ?";
|
配置文件(不建议和不经常改变的内容配置文件放在一起) |
手动封装返回结果集 |
int id = resultSet.getInt("id"); String username = resultSet.getString("username");
|
使用反射、内省 |