Optional与Mybatis
Posted 小虾米的java梦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Optional与Mybatis相关的知识,希望对你有一定的参考价值。
1、mybatis的@Param()参数传递的问题,与JDK1.8的Optional的返回值问题。使用Optional与spring-data-jpa和mybatis有啥区别?
使用spring-data-jpa可以使用Optional<实体>,这样的返回不会出错。
但是Mybatis不行,返回值不能是 Optional<实体>,这样子会报错,字段也传入不到mapperxml中。
2、mybatis的传递参数为集合(set,list)的问题。
问题原因:
出错原因:collection写set,list或者collection,所以出错。
3、mybatis使用自定义的分页插件,查询记录条数,查询显示内容
public class PageResult<T> { private int currentPage; private int pageSize; private int totalPages; private long totalCount; private List<T> content; public int getCurrentPage() { return currentPage; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getTotalPages() { return totalPages; } public void setTotalPages(int totalPages) { int page= (int) (this.totalCount/pageSize); if(this.totalCount%pageSize>0){ page++; } this.totalPages = page; } public long getTotalCount() { return totalCount; } public void setTotalCount(long totalCount) { this.totalCount = totalCount; } public List<T> getLContent() { return content; } public void setContent(List<T> content) { this.content = content; }
页面传递的参数:
currentPage 当前页,pageSize每页的数据条数
pageResult.setCurrentPage(currentPage);
pageResult.setPageSize(pageSize);
计算有多少条记录count:select count(*) from 表
pageResult.setTotalCount(count);pageResult.setTotalPages(pageResult.getTotalPages());
查询页面内容:
select * from 表 where 条件
order by 字段 什么顺序(desc还是asc)limit #{currentPage},#{pageSize}
pageResult.setContent(页面内容)
返回pageResult即可。
以上是关于Optional与Mybatis的主要内容,如果未能解决你的问题,请参考以下文章
sublime text 3 添加 javascript 代码片段 ( snippet )