A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 谷粒姐姐 于 2018-3-14 13:34 编辑

第三章 批量数据导入导出
一、 快递员管理功能
1. 快递员添加功能实现
1、 jQuery Easyui Window 窗口
2、 jQuery Easyui form 客户端表单校验
3、 spring data jpa 提供 save 方法
1.1. 收派标准列表显示 jQueryEasyui提供 combobox
1、 需要给 input 输入框 设置 class=”easyui-combobox”
2、 设置三个属性 url 获取列表数据、textField 显示内容字段名、valueField 生成选项
value 属性依据字段名


编写 StandardAction 提供 findAll 方法
编写业务层方法
1.2. 快递员添加功能 (多表操作 )
1、 需要检验一下表单的输入元素 name 字段 是否与实体类 属性字段一致
2、 需要对快递员添加表单,设置 action 和 method
3、 使用 jquery easyui 的 form 校验功能


4、 编写 CourierAction 添加 save 方法
5、 编写业务层代码 实现
6、 编写 DAO 业务接口

2. 快递员分页列表查询
2.1. 无条件分页查询
1、 datagrid 在页面加载后 会自动向 url 地址发送一次请求
传递参数 page 当前页码 和 rows 每页显示的记录条数 到服务器
2、 spring data 提供 Pageable 对象(PageRequest)接收两个参数
3、 调用 spring data 中 Page findAll(Pageable) 方法查询 总记录数 和 当前页数据
4、 将 Page 中数据封装自定义 Map 集合 total 和 rows 转换为 json 返回客户端
修改 courier.html 的 datagrid url 地址
编写 CourierAction 中 pageQuery 方法


编写业务层实现
错误: Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection
of role: cn.itcast.bos.domain.base.Courier.fixedAreas, could not initialize proxy - no Session
分析: 需不需要加载集合对象 , @Json 注解排除不需要加载属性
2.2. 有条件分页查询
1、 制作查询按钮,点击按钮 显示快递员查询表单(窗口)


2、 将查询窗口条件,绑定到数据表格上,让数据表格在发送请求时,自动携带条件
查询 jquery easyui datagrid 数据表格 api
先将页面 form 表单中数据,转换 {key:value, key:value} 格式
查看 jquery
基于自定义方法,完成将 form 参数转换为 json 绑定 datagrid 上

查询条件和分页查询参数 一起发送给服务器端
3、 修改 CourierAction 的 pageQuery 方法,添加条件查询逻辑操作


修改 Service 代码
实现
修改 DAO 接口,继承 JpaSpecificationExecutor 接口
JpaSpecificationExecutor 接口

Specification 接口对象 代表条件查询对象
Pageable 接口对象 代表分页查询对象
3. 快递员作废功能
很多业务系统,提供删除功能 大多是逻辑删除功能(并不是真的在数据库中删除记录,
而是通过一个标记位,标记数据已经删除)
业务规则, Courier 数据表,提供 deltag 字段,如果字段为空(null) 表示是有效的快
递员,如果 deltag 设置为 1 ,表示快递员已经作废
3.1Datagrid的列属性 formatter使用
用来格式化表格数据显示,定制 formatter,控制表格内容显示 !

3.2. 快递员批量作废功能
1、 点击页面作废按钮时,获取所有勾选快递员 id
2、 编写 CourierAction 的 delBatch 实现批量作废

3、 编写业务层实现
4、自定义 DAO 的修改方法


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马