Java之mybatis使用limit实现分页案例讲解
1. Limit实现分页
1.1 为什么需要分页
减少数据的处理量
1.2 使用Limit实现分页
select * from user limit startIndex,pageSize; # 注意是从startIndex+1开始查询 pageSize 个 select * from user limit 3; # [0,3]
1.3 使用mybatis实现分页(核心:SQL)
1.3.1 接口
UserMapper.java
// limit实现分页 Map后面只能是 Integer 包装类 不可以 int List<User> getUserByLimit(Map<String, Integer> map);
1.3.2 UserMapper.xml
<select id="getUserByLimit" resultMap="com.tian.pojo.User" parameterType="map"> select * from mybatis.user limit #{statrIndex},#{pageSize}; </select>
1.3.3 测试类
UserMapperTest.java
<select id="getUserByLimit" resultMap="UserMap" parameterType="map"> select * from `mybatis`.`user` limit #{startIndex},#{pageSize}; </select> <select id="getUserById" resultMap="UserMap"> select * from `mybatis`.`user` where id = #{id}; </select>
执行结果:
到此这篇关于Java之mybatis使用limit实现分页案例讲解的文章就介绍到这了,更多相关Java之mybatis使用limit实现分页内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
JAVA MyBatis入门学习过程记录
目录 一.Mybatis 1.mybatis-config.xml 2.Mapper.xml 3.db.properties 4.MybatisUtils工具类 5.多对一AND多对一: 6.使用注解开发 7.自定义缓存:ehcache 8.mybatis 其他工具 二.MAVEN资源导出错误解决 三.常用依赖导入 四.LOG4J 1.log4j.properties 配置文件 2.log4j 在mybatis-config.xml的配置 3.使用场景 好用的插件: 1.lombok 总结 一.
-
Java经典面试题汇总:Mybatis
目录 1. MyBatis 中 #{}和 ${}的区别是什么? 2. MyBatis 有几种分页方式? 3. MyBatis 逻辑分页和物理分页的区别是什么? 4. MyBatis 是否支持延迟加载?延迟加载的原理是什么? 5. 说一下 MyBatis 的一级缓存和二级缓存? 6. MyBatis 有哪些执行器(Executor)? 7. MyBatis 分页插件的实现原理是什么? 8. MyBatis如何返回主键? 9. Xml映射文件中,除了常见的select|insert|update|d
-
Java持久层框架Mybatis入门详细教程
mybatis介绍 mybatis它是轻量级持久层框架,由ibatis演化而来.它自动连接数据库,将数据库的结果集封装到对象中POJO. POJO: 一个简单的Java类,这个类没有实现/继承任何特殊的java接口或者类,不遵循任何主要java模型,约定或者框架的java对象.在理想情况下,POJO不应该有注解. JavaBean: JavaBean是可序列化的,实现了serializable接口 具有一个无参构造器 有按照命名规范的set和gett,is(可以用于访问布尔类型的属性)方法 My
-
深入浅出JAVA MyBatis-快速入门
目录 创建项目前的环境搭建 简介 特点 (开始)创建Maven项目,导入依赖 创建一个新的Maven项目 (开始)在数据库中创建表 创建表详细信息 从 XML 中构建 SqlSessionFactory 总结: 创建项目前的环境搭建 本篇使用工具: 1.JDK:jdk1.8 2.Mysql l数据库 :mysql-5.7.31-winx64 3.Maven 开发工具 :apache-maven-3.8.1 4.IDEA开发工具: IntelliJ IDEA 2020.1.3 x64 在这里我们使
-
基于javaMybatis存进时间戳的问题
java Mybatis存进时间戳 封装了一个实体类,里面有个字段 Integer createTime. 要利用这个实体类将一个时间戳存进数据库中. 刚开始的时候出现错误: Data truncation: Incorrect datetime value: '123456789' for column 'create_time' at row 1 是存进数据库的时候出现了问题,个人理解应该是Integer类型和数据库中的Timestamp类型不匹配. 之后把封装类里createTime的类型
-
Java面试题冲刺第九天--MyBatis2
目录 面试题1:说说你对Mybatis的理解? 追问1:说一下MyBatis的工作原理和流程吧. 追问2:列举几个MyBatis的核心组件,说说分别干啥用? 面试题2:(问几个实际使用的问题)Mybatis动态sql是做什么的?都有哪些动态sql? 追问1:Xml映射文件中,除了常见的select|insert|updae|delete标签之外,你还常用哪些标签? 追问2:Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式? 追问3:MyBatis中接口绑定你都用过哪几
-
Java面试题冲刺第九天--MyBatis
目录 面试题1:你怎么理解ORM框架,常见的ORM框架都有哪些? 正经回答: 追问1:大家都在用Mybatis,Mybatis都有哪些优势? 面试题2:相比较Hibernate与Mybatis,你有哪些看法? 正经回答: 面试题3:Mybatis中的#{}和${}有哪些区别 正经回答: 深入追问: 追问1:什么是sql注入? 追问2:mybatis是如何做到防止sql注入的? 总结 面试题1:你怎么理解ORM框架,常见的ORM框架都有哪些? 正经回答: 对象关系映射(Object Relatio
-
一篇文章告诉你JAVA Mybatis框架的核心原理到底有多重要
目录 持久层的那些事 什么是 JDBC JDBC 原理 什么是 Mybatis Mybatis 与 JDBC 的关系 SqlSession SqlSessionFactory SqlSessionFactoryBuilder Configuration MappedStatement Executor ParameterHandler StatementHandler ResultSetHandler Interceptor Mybatis 关键词说明 Mybatis 架构设计 基础支持层 反射
-
Java之mybatis使用limit实现分页案例讲解
1. Limit实现分页 1.1 为什么需要分页 减少数据的处理量 1.2 使用Limit实现分页 select * from user limit startIndex,pageSize; # 注意是从startIndex+1开始查询 pageSize 个 select * from user limit 3; # [0,3] 1.3 使用mybatis实现分页(核心:SQL) 1.3.1 接口 UserMapper.java // limit实现分页 Map后面只能是 Integer 包装类
-
Java中mybatis的三种分页方式
目录 前言 一.Limit分页 二.RowBounds分页(不推荐使用) 三.Mybatis_PageHelper分页插件 前言 分页是我们在开发中绕不过去的一个坎!当你的数据量大了的时候,一次性将所有数据查出来不现实,所以我们一般都是分页查询的,减轻服务端的压力,提升了速度和效率!也减轻了前端渲染的压力! 注意:由于 java 允许的最大整数为 2147483647,所以 limit 能使用的最大整数也是 2147483647,一次性取出大量数据可能引起内存溢出,所以在大数据查询场合慎重使用!
-
Java之哈夫曼压缩原理案例讲解
1. 哈夫曼压缩原理 首先要明确一点,计算机里面所有的文件都是以二进制的方式存储的. 在计算机的存储单元中,一个ASCII码值占一个字节,1个字节等于8位(1Byte = 8bit) 可以参考这个网站: ASCII码在线转换计算器 以"JavaJavaJavaJavaJavaJava"这个字符串为例,它在计算机内部是这样存储的(每一个字符的ASCII码转换为二进制存储起来): public static void main(String[] args) { String beforeS
-
Java之实现十进制与十六进制转换案例讲解
写了两种十六进制转十进制的方式,仅供参考. 基本思路:用十六进制中每一位数乘以对应的权值,再求和就是对应的十进制 方法一: import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Test { /** * @param: [content] * @return: int * @description: 十六进制转十进制 */ public static int covert(St
-
Java之ThreadLocal使用常见和方式案例讲解
目录 1 两大使用场景-ThreadLocal的用途 2 典型场景1:每个线程需要一个独享的对象 3 典型场景2:当前用户信息需要被线程内所有方法共享 4 ThreadLocal方法使用总结 5 ThreadLocal原理 6 ThreadLocal使用问题内存泄露 7 实际应用场景-在spring中的实例分析 [面试高频]- ThreadLocal的使用场景以及使用方式是怎么样的 1 两大使用场景-ThreadLocal的用途 典型场景1:每个线程需要一个独享的对象(通常是工具类,典型需要使用
-
Java之理解Redis回收算法LRU案例讲解
如何通俗易懂的理解LRU算法? 1.LRU是什么? LRU全称Least Recently Used,也就是最近最少使用的意思,是一种内存管理算法,最早应用于Linux操作系统. LRU算法基于一种假设:长期不被使用的数据,在未来被用到的几率也不大.因此,当数据所占内存达到一定阈值时,我们要移除掉最近最少被使用的数据. LRU算法应用:可以在内存不够时,从哈希表移除一部分很少访问的用户. LRU是什么?按照英文的直接原义就是Least Recently Used,最近最久未使用法,它是按照一个非
-
Java之Springcloud Gateway内置路由案例讲解
Spring Cloud Gateway路由匹配是Spring WebFlux基础功能的一部分,在Spring Cloud Gateway中内置了很多路由断言工厂类.不同的断言工厂类针对HTTP请求的不同属性.多个断言工厂类可以使用逻辑"and"进行组合使用. 4.1 After Route Predicate Factory 这个Predicate工厂的实现类是AfterRoutePredicateFactory,使用一个时间参数,如果当前请求的时间在配置的赶时间之后,
-
Java之api网关断言及过滤器案例讲解
目录 一.什么是api网关? 二.常见的api网关 三.使用步骤 1.Spring Cloud Gateway 2.优缺点 3.传统的过滤器 4.使用gateway 4.1module 4.2添加pom依赖 4.3yaml配置 4.4主程序开启注解@EnableDiscoveryClient 四.执行流程 五.断言 5.1: 自定义断言 5.2: 过滤器 一.什么是api网关? 所谓的API网关,就是指后台系统的统一入口,它封装了应用程序的内部结构,为客户端提供统一 路由服务,一些与业务本身功能
-
Java数据结构 递归之迷宫回溯案例讲解
问题介绍: 用二维数组表示一个迷宫,设置迷宫起点和终点,输出迷宫中的一条通路 实现思路: 二维数组表示迷宫: 0表示路且未走过.1表示墙.2表示通路,3表示已经走过但走不通 设置寻路方法setWay,传入地图和坐标参数 默认方向策略:下.右.上.左 假定传入的店没有走过且可以走通,将其值置为2,然后向下寻路,也就是将坐标 (i + 1, j) 传入寻路方法中 进行递归寻路,向下移动后,再次按照方向策略进行寻路,即再向下寻路,直到遇到死路,即下右左均走不通(因为将走过的路置为2,故向上也走不通,即
-
Java使用MyBatis框架分页的5种方式
本文为大家分享了Java使用MyBatis框架分页的五种方式,供大家参考,具体内容如下 初始准备 1.创建分页对象类,方便模块间传值 //PageInfo.java import lombok.Data; @Data public class PageInfo { private int pageNo; private int pageSize; } 2.定义DAO层接口 import org.apache.ibatis.session.RowBounds; import org.springf
随机推荐
- DB2常用傻瓜问题1000问(二)第1/2页
- 使用jQuery插件创建常规模态窗口登陆效果
- java编程实现获取服务器IP地址及MAC地址的方法
- 详解获取Spring MVC中所有RequestMapping以及对应方法和参数
- Oracle 表三种连接方式使用介绍(sql优化)
- aspxgridview CustomButtonCallback 不支持弹出消息提示解决方法
- php5.3不能连接mssql数据库的解决方法
- phpmyadmin提示The mbstring extension is missing的解决方法
- C#检测两个矩阵是否相等的方法
- Android使用RecyclerView实现列表数据选择操作
- JS+CSS设置img在DIV中只显示Img垂直居中的部分
- 详解基于Node.js的微信JS-SDK后端接口实现代码
- JS+canvas绘制的动态机械表动画效果
- 让你的python代码更加pythonic(简练、明确、优雅)
- 由点击页面其它地方隐藏div所想到的jQuery的delegate
- 纯CSS实现的竖向导航菜单
- SSH框架实现表单上传图片实例代码
- java的线程池框架及线程池的原理
- C#中设置textbox限制条件的方法
- php生成WAP页面