当前位置: 首页 > news >正文

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即可。

转载于:https://www.cnblogs.com/fengli9998/p/9025953.html

相关文章:

  • https://segmentfault.com/a/1190000012844836---------关于SpringBoot上传图片的几种方式
  • 微软宣布Skype将从7月1日起停止旧系统支持
  • 欧比特业绩稳增长,支撑卫星大数据战略加速落地
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 大数据产业重在应用 防止盲目建设数据中心
  • 实现基于zoom平台上的oss额外存储
  • 获彼得·泰尔青睐的在线借贷创企Kreditech获PayU 110万欧元投资
  • spring boot 传输数组类型数据
  • hausaufgabe--python 26 -Dict 2
  • 20172303 20172322 2017-2018-2 《程序设计与数据结构》结对编程项目-四则运算 项目总结...
  • telnet: connect to address 192.168.2.140: Connection refused
  • Java8学习笔记之Stream API
  • 国资委监事会主席季晓南:大数据金融发展要加强风险管控
  • 原生js获取、设置、删除属性
  • Linux安装mysql5.6
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • [Vue CLI 3] 配置解析之 css.extract
  • CentOS6 编译安装 redis-3.2.3
  • es的写入过程
  • in typeof instanceof ===这些运算符有什么作用
  • Joomla 2.x, 3.x useful code cheatsheet
  • jQuery(一)
  • mockjs让前端开发独立于后端
  • orm2 中文文档 3.1 模型属性
  • Python连接Oracle
  • Python学习笔记 字符串拼接
  • Shadow DOM 内部构造及如何构建独立组件
  • Vue UI框架库开发介绍
  • 电商搜索引擎的架构设计和性能优化
  • 复习Javascript专题(四):js中的深浅拷贝
  • - 概述 - 《设计模式(极简c++版)》
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 前端临床手札——文件上传
  • 让你的分享飞起来——极光推出社会化分享组件
  • 手写双向链表LinkedList的几个常用功能
  • 思考 CSS 架构
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 移动端解决方案学习记录
  • 智能网联汽车信息安全
  • HanLP分词命名实体提取详解
  • NLPIR智能语义技术让大数据挖掘更简单
  • 浅谈sql中的in与not in,exists与not exists的区别
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​io --- 处理流的核心工具​
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​如何在iOS手机上查看应用日志
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (13):Silverlight 2 数据与通信之WebRequest
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (十一)c52学习之旅-动态数码管
  • (转) Android中ViewStub组件使用
  • (转)Sublime Text3配置Lua运行环境
  • (转)VC++中ondraw在什么时候调用的