【AgileTC】_测试用例页面需求对应接口三层结构开发
1.创建controller方法
1 | /** |
- 注意@RequestParam注解与@RequestAttribute注解的区别,前者是从前端传递过来的请求体参数中获取数据,后者是从请求域中获取数据。要注意请求体和请求域是两个完全不同的概念。
2.根据需要的参数编写请求体对象
1 |
|
3.根据需要返回的参数编写响应体对象
1 |
|
4.编写service接口中的抽象方法
1 | /** |
- 如果请求数据或者响应数据较多,一般定义两个javabean类来装载请求体参数和响应体参数
5.编写serviceImpl方法
1 |
|
- 此处使用了分页查询:
- 声明返回值为分页对象
PageResult<OeAllRecordListResp>, - 为分页助手输入页码和每页个数参数
PageHelper.startPage(req.getPageNum(), req.getPageSize()), - 输入查询结果数组来创建分页对象
PageResult.buildPage(list, ((Page<ExecRecord>) recordList).getTotal())。
- 声明返回值为分页对象
- 此处注意不能直接获取数据库中的测试任务执行结果,要用getData方法来获取。
- 此处使用了Calendar类来帮助获取几天前的时间。
6.编写mapper接口中的抽象方法
1 | List<ExecRecord> getAllRecord(@Param("title") String title, |
- mapper接口的抽象方法中定义sql语句的输入参数。
7.在mapper配置文件中编写sql语句
1 | <select id="getAllRecord" resultMap="ResultMapWithBLOBs"> |
- 这里其实同时使用了内连接和外连接:left join后是外连接的表,on后是外连接的条件,这是一种显式外连接;where后跟的是内连接的条件,这是一种隐式内连接。
- 这里可以发现mapper方法可以直接传入Date类型的java数据与数据库中TIMESTAMP类型数据进行比较。
- 注意left join的查询结果形式,如果left join两边的两张表是一对多或者多对多关系,那么左边的基表中的同一行数据完全有可能在查询结果中显示多次,对应上右边连接表中的不同行。