动态sql模糊查询和分页

文章目录

    • 动态sql
    • 模糊查询
    • 查询返回结果集的处理
    • 分页

动态sql

BookMapper
动态sql模糊查询和分页_第1张图片
xml
动态sql模糊查询和分页_第2张图片
bookservice
在这里插入图片描述
测试:
MapperSql.test
动态sql模糊查询和分页_第3张图片
运行:
动态sql模糊查询和分页_第4张图片

模糊查询

BookMapper
动态sql模糊查询和分页_第5张图片
BookMapper.xml
动态sql模糊查询和分页_第6张图片
Bookservice
动态sql模糊查询和分页_第7张图片
StringUtiles
动态sql模糊查询和分页_第8张图片
测试:
一共介绍了三种模糊查询的方法,
对比第三种更加实用。
动态sql模糊查询和分页_第9张图片
运行:
动态sql模糊查询和分页_第10张图片

查询返回结果集的处理

BookMapper
动态sql模糊查询和分页_第11张图片
Bookmapper.xml

 
  
  
  
  

BookVo继承Book实体类
动态sql模糊查询和分页_第12张图片
测试代码

 @Test
    public void list() {
        //返回resultMap但是使用list
//        List books=this.bookService.List1();
        //返回的是resulttype使用list接收
//        List books=this.bookService.List2();
//        for (Book b :books){
//            System.out.print(b);
//        }
        //返回的是resulttype 使用T接收
//        BookVo bookVo=new BookVo();
//        List list=new ArrayList();
//        list.add(5);
//        bookVo.setBookIds(list);
//        Book book=this.bookService.list3(bookVo);
//        System.out.print(book);
        //返回的是resultType,然后用list进行接收
        Map map=new HashMap();
//        map.put("bname",StringUtils.toLikeStr("李四"));
//        List list=this.bookService.list4(map);
//        for (Map m :list){
//            System.out.print(m);
//        }
//        /返回的是resultType,然后用map进行接收
        map.put("bid",7);
        Map m=this.bookService.list5(map);
        System.out.print(m);

分页

为什么要重写mybatis的分页?
Mybatis的分页功能很弱,它是基于内存的分页(查出所有记录再按偏移量offset和边界limit取结果),在大数据量的情况下这样的分页基本上是没有用的

使用分页插件步奏
1、导入pom依赖
2、Mybatis.cfg.xml配置拦截器
3、使用PageHelper进行分页
4、处理分页结果
Pom依赖


    com.github.pagehelper
    pagehelper
    5.1.2

Mybatis.cfg.xml配置拦截器


    
    
    

Bookservice层

动态sql模糊查询和分页_第13张图片
BookServiceImpl
动态sql模糊查询和分页_第14张图片
测试:
动态sql模糊查询和分页_第15张图片
运行:
动态sql模糊查询和分页_第16张图片

你可能感兴趣的:(IDEA)