JavaWeb 笔记 12 三层 JDBC
回顾
步骤回顾
要进行一次完整的数据库增删改查,我们需要执行以下的步骤:
- 获得 URL 的参数
- 将参数拼接成 SQL 语句
- 访问数据库(省略 MySqlHelper 所做的操作)
- 处理数据
- Servlet 界面显示返回值
一层 JDBC
MySqlHelper + Servlet(界面)
- Servlet 负责接收 URL 参数
- 然后将 SQL 语句和参数传递给 MySqlHelper 的方法
- MySqlHelper 查询数据库之后处理返回值对象,并合并为 List 对象返回给 Servlet
- Servlet 将其转换成 JSON 字符串,输出。
注: 这个版本的 JSON 也不是我们想要输出的样子,因为它没有 data 和 flag 键。
两层 JDBC
MySqlHelper + DAO + Servlet,外加一个 pojo.Result 实体类
DAO = Data Access Object 数据访问层
DAO 保存了 SQL 语句
- Servlet 负责接收 URL 参数
- 将参数传给对应的 DAO
- DAO 拼接参数,调用 MySqlHelper 得到 List 对象
- DAO 再把数据返回给 Servlet
- Servlet 将数据保存在 Result 实例的 data 成员变量里
- Servlet 再将 Result 对象转换为 JSON 字符串,输出。
三层 JDBC
MySqlHelper + DAO + Service + Servlet
Service 业务逻辑层,它将 DAO 返回的数据处理后装进 Result 对象里,返回给 Servlet。
添加一个 service 包,创建的 Service 类名命名方式和 DAO 文件一样:数据库表名Service.java
。
Service 负责调用 DAO 的方法,所以通常 service 的方法名应该和 DAO 一样,返回值为 Result。代码长这样:
public static Result getCityNames() { |
那么 Servlet 里原先两层重复的代码(以下这一段)可以直接简化:
Result result = new Result(); |
改为这样:
protected void get或post方法(request, response) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 麦甜怪圈 Xiaomai Circle!