zoukankan      html  css  js  c++  java
  • 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即可。
  • 相关阅读:
    【转载】Oracle实例和Oracle数据库(Oracle体系结构)
    【转载】Oracle 11g R2 for Win7旗舰版(64位)- 安装
    eclipse 中卸载插件的方法
    eclipse编辑jsp文件和javascript代码很卡解决办法
    ExtJS登陆页面涉及到的几个问题
    一个关于ExtJS4具体控件的详细教程
    ES6与React中this完全解惑
    for, for..in, in, for...of的区别
    Sublime Text3的react代码校验插件
    Sublime Text3中JSX支持Emmet快捷键
  • 原文地址:https://www.cnblogs.com/fengli9998/p/9025953.html
Copyright © 2011-2022 走看看