1、SpringDataJpa原理及查询和修改操作(理解原理,能说出来,会用)
2、datagrid使用及分析(会用)
3、收派标准分页列表查询实现及修改功能(重点)
4、快递员添加、分页列表查询、Specification实现分页列表带条件查询(重点)
1、Spring Data
Spring Data 出现就是为了简化、统一持久层的各种实现技术API
Spring Data 提供一套标准API和不同持久层整合技术实现
2、spring-data-commons与spring-data-jpa
spring-data-commons 一套标准API
spring-data-jpa 基于整合jpa实现
自己开发Repository只需要继承JpaRepository接口
CrudRepository
save、delete、deleteAll、findAll、findOne、count
PagingAndSortingRepository
findAll(Sort) 基于排序的查询、findAll(Pageable)基于分页的查询
第一种:根据方法命名规则自动生成
基于一列等值查询 findBy列名 例如:findByName(String name)
// 根据收派标准名称查询
public List
基于一列模糊查询findBy列名Like 例如:findByNameLike(String name)
基于两列等值查询findBy列名And列名 例如:findByUsernameAndPassword(String username,String password)
第二种:不按命名规则写的查询方法,可以配置@Query绑定JPQL语句或者SQL语句
@Query(value="from Standard where name = ?" ,nativeQuery=false)
// nativeQuery 为 false 配置JPQL,在这里其实就是写HQL 、 为true 配置SQL
public List
第三种:不按命名规则写的查询方法,配置@Query,没写语句,实体类@NamedQuery定义
@Query
public List
@NamedQueries({
@NamedQuery(name="Standard.queryName2",query="from Standard where name=?")
})
@Query注解完成,搭配使用@Modifying标记修改、删除操作
@Query(value="update Standard set min·Length=?2 where id =?1")问号后数代表参数占位符
@Modifying
publicvoid updateMinLength(Integer id , Integer minLength);
Junit单元测试,要添加事务,设置事务不回滚
@Test
@Transactional
@Rollback(false)
publicvoid testUpdate(){
standardRepository.updateMinLength(1, 3);
}
1、table指定id="grid"
2、$("#grid").datagrid({…}); 完成对表格设置
columns:表格列定义
url:远程数据加载
pagination:true显示分页栏datagrid底
toolbar:顶部工具栏
参照10.html
page size
请求数据:page页码、rows每页记录数(每页显示几条数据)
响应数据:total:总记录数、rows当前页数据记录
2、在StandardAction添加pageQuery方法,页面会自动发送两个请求参数page页码和 rows每页记录数
Action代码:
pom.xml导入json插件
业务层代码
实现代码
Spring data jpa提供分页查询方法,接受Pageable参数
Spring data提供PageRequest对象实现Pageable接口
注意PageRequest的page页面从0开始所以要page-1
1、点击修改按钮,获取datagrid选中的一行数据
2、将选中数据回显form表单
使用jquery easyui 提供form对象
提供隐藏字段 (id隐藏,用于传参数)
1、快递员管理,依赖收派标准选择(多表关联插入)
2、快递员分页列表查询
3、区域批量数据导入 Excel读写工具 Apache POI、文件上传
4、基于条件分页查询功能实现Spring Data JPA 条件分页查询
1、快递员管理功能介绍
快递员添加功能思路:
1)jQuery Easyui Window窗口
2)jQuery Easyui form 客户端表单验证
3)Spring Data JPA 提供save方法
2、收派标准列表显示
1)input控件
url获取列表数据、textField 显示内容字段名、valueField生成选项value属性依据字段名
2)编写StandardAction提供findAll方法
3)编写业务层方法
快递员添加功能(多表操作)介绍
3、使用jQuery easyui的form校验功能
6、编写DAO业务接口
1)datagrid在页面加载后,会自动向url地址发送一次请求
传递参数page当前页码和rows每页显示的记录数到服务器
4)将Page中数据封装自定义Map集合total和rows转换json返回客户端
2、实现步骤:
1)修改courier.html中的datagrid url地址
2)编写CourierAction中的pageQuery方法
3)编写业务层实现
分析:需不需要加载集合对象,@JSON注解排除不需要加载属性
1、制作查询按钮,点击按钮显示快递员查询表单(窗口)
2、将查询窗口条件,绑定到数据表格上,让数据表格在发送请求时,自动携带条件
查询jquery easyui datagrid 数据表格api
1)先将页面form表单数据,转换{key:value,key:value}格式
查看jquery
2)基于自定义方法,完成将form参数转换为json绑定到datagrid上
3)查询条件和分页查询参数一起发送给服务器端
思路:
3、修改CourierAction的pageQuery方法,添加条件查询逻辑操作
4、修改Service代码
实现
5、修改DAO接口,继承JpaSpecificationExecutor接口
JpaSpecificationExecutor接口
Specification接口对象:条件查询对象
Pageable接口对象:代表分页查询对象