mybatis中分页有3种方式来实现,通过sql语句(两种传参方式)来实现,通过mybatis 的 Rowbounds 来实现。
通过(自定义类型)传参 来实现分页:
映射文件:
<select id="findListBypage" parameterType="cn.wh.util.PageUtil" resultType="Role"> select * from t_role limit #{index},#{size} </select>
测试代码:
/** * 通过自定义类型来传参 实现分页功能 需要新建一个类型 */ @Test public void testPage1(){ PageUtil pu = new PageUtil(); pu.setIndex(3); pu.setSize(3); List<Role> list = session.selectList("cn.wh.mapper.RoleMapper.findListBypage", pu); for(Role r:list){ System.out.println(r.getName()); } }
通过map传参实现:
映射文件:
<select id="findListBypage" parameterType="map " resultType="Role"> select * from t_role limit #{index},#{size} </select>
测试代码:
/** * 可以通过map来传参 这样可以不用新建新的类型 */ @Test public void testPage2(){ Map<String,Integer> map = new HashMap<String,Integer>(); map.put("index", 0); map.put("size", 3); List<Role> list = session.selectList("cn.wh.mapper.RoleMapper.findListBypage", map); for(Role r:list){ System.out.println(r.getName()); } }
通过RowBounds来实现分页:
映射文件:
<select id="findAll" resultType="Role"> select * from t_role </select>
测试代码:
/** * 使用rowBounds来实现分页 */ @Test public void testPage3(){ //第一个参数 是index,开始下标 //第二个参数 是size,每页显示记录数 RowBounds bounds = new RowBounds(3, 3); List<Role> list = session.selectList("cn.wh.mapper.RoleMapper.findAll", null,bounds); for(Role r:list){ System.out.println(r.getName()); } }
注意:通常情况下使用 Map 传参来实现分页
模糊查询
映射文件:
<select id="selectLike" parameterType="string" resultType="Role"> select *from t_role where name like #{name} </select>
测试代码:
/** * 模糊查询 */ @Test public void testLike1(){ List<Role> list = session.selectList("cn.wh.mapper.RoleMapper.selectLike","%会员"); for(Role r:list){ System.out.println(r.getName()); } }
第二种方式:
<select id="selectLike1" parameterType="string" resultType="Role"> select *from t_role where name like concat(#{name},'%'); </select>
测试代码:
/** * 模糊查询 */ @Test public void testLike2(){ List<Role> list = session.selectList("cn.wh.mapper.RoleMapper.selectLike1","黄"); for(Role r:list){ System.out.println(r.getName()); } }
注意:通常使用第二种方式实现模糊查询
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍MyBatis实现动态查询、模糊查询功能,包括了MyBatis实现动态查询、模糊查询功能的使用技巧和注意事项,需要的朋友参考一下 要实现查询,咱们就先有个数据库,截图如下,其中cityAreaId是外键,本次可以忽略; 下面Branches是我的实体类,里面有name和address属性; 接口中方法: MyBatis的接口映射文件的代码: 动态查询: 模糊查询: 然后就是main方
本文向大家介绍Mybatis模糊查询及自动映射实现详解,包括了Mybatis模糊查询及自动映射实现详解的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Mybatis模糊查询及自动映射实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Mybatis的模糊查询 1. 参数中直接加入%% 1 2 3 4 5 6 7 8 9 param
本文向大家介绍Vue.js实现分页查询功能,包括了Vue.js实现分页查询功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Vue.js实现分页查询的具体代码,供大家参考,具体内容如下 vue.js的使用如下: 1、引入vue.js a、分页条 b、分页条js、css 2、分页的方法 3、封装page方法 4、定义获取总页数的方法 5、前台分页方法,获取后台的数据,实
本文向大家介绍springmvc4+hibernate4分页查询功能实现,包括了springmvc4+hibernate4分页查询功能实现的使用技巧和注意事项,需要的朋友参考一下 Springmvc+hibernate成为现在很多人用的框架整合,最近自己也在学习摸索,由于我们在开发项目中很多项目都用到列表分页功能,在此参考网上一些资料,以springmvc4+hibnerate4边学边总结,得出分
本文向大家介绍Mybatis实现增删改查及分页查询的方法,包括了Mybatis实现增删改查及分页查询的方法的使用技巧和注意事项,需要的朋友参考一下 MyBatis的前身就是iBatis。是一个数据持久层(ORM)框架。 MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持 久层框架。MyBatis消除了几乎所有的JDBC 代码和参数的手工 设置以及结果集的检索。MyBatis使用简单的X
本文向大家介绍MyBatis Plus 实现多表分页查询功能的示例代码,包括了MyBatis Plus 实现多表分页查询功能的示例代码的使用技巧和注意事项,需要的朋友参考一下 在Mybatis Plus 中,虽然IService 接口帮我们定义了很多常用的方法,但这些都是 T 对象有用,如果涉及到 多表的查询,还是需要自定义Vo 对象和自己编写sql 语句,Mybatis Plus提供了一个Pag