mybatis分页及模糊查询功能实现

网友投稿 287 2023-05-10


mybatis分页及模糊查询功能实现

mybatis中分页有3种方式来实现,通过sql语句(两种传参方式)来实现,通过mybatis 的 Rowbounds 来实现。

通过(自定义类型)传参 来实现分页:

映射文件:

select * from t_role limit #{index},#{size}

测试代码:

/**

* 通过自定义类型来传参 实现分页功能 需要新建一个类型

*/

@Test

public void testPage1(){

PageUtil pu = new PageUtil();

pu.setIndex(3);

pu.setSize(3);

List list = session.selectList("cn.wh.mapper.RoleMapper.findListBypage", pu);

for(Role r:list){

System.out.println(r.getName());

}

}

通过map传参实现:

映射文件:

select * from t_role limit #{index},#{size}

测试代码:

/**

* 可以通过map来传参 这样可以不用新建新的类型

*/

@Test

public void testPage2(){

Map map = new HashMap();

map.put("index", 0);

map.put("size", 3);

List list = session.selectList("cn.wh.mapper.RoleMapper.findListBypage", map);

for(Role r:list){

System.out.println(r.getName());

}

}

通过RowBounds来实现分页:

映射文件:

select * from t_role

测试代码:

/**

* 使用rowBounds来实现分页

*/

@Test

public void testPage3(){

//第一个参数 是index,开始下标

//第二个参数 是size,每页显示记录数

RowBounds bounds = new RowBounds(3, 3);

List list = session.selectList("cn.wh.mapper.RoleMapper.findAll", null,bounds);

for(Role r:list){

System.out.println(r.getName());

}

}

注意:通常情况下使用 Map 传参来实现分页

模糊查询

映射文件:

select *from t_role where name like #{name}

测试代码:

/**

* 模糊查询

*/

@Test

public void testLike1(){

List list = session.selectList("cn.wh.mapper.RoleMapper.selectLike","%会员");

for(Role r:list){

System.out.println(r.getName());

}

}

第二种方式:

select *from t_role where name like concat(#{name},'%');

测试代码:

/**

* 模糊查询

*/

@Test

public void testLike2(){

List list = session.selectList("cn.wh.mapper.RoleMapper.selectLike1","黄");

for(Role r:list){

System.out.println(r.getName());

}

}

注意:通常使用第二种方式实现模糊查询


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:npm国内镜像 安装失败的几种解决方案
下一篇:Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~