zoukankan      html  css  js  c++  java
  • mybatis的逆向工程中创建的以Example类的作用

    在平常的开发中,有时会使用mybatis的逆向工程,来快速的创建类,其中在创建实例的过程中有一个以Example结尾的类,这个类是专门用来对这个单表来查询的类,就相当于,对该单表的增删改查是脱离sql性质的,直接在service层就可以完成(当然这个sql是逆向已经生过的)

    例如:

    select id, username, birthday, sex, address from user WHERE ( username = ‘张三’ ) order by username asc

    @Test  
        public void testFindUserByName(){  
      
            //通过criteria构造查询条件  
            UserExample userExample = new UserExample();  
            userExample.setOrderByClause("username asc"); //asc升序,desc降序排列  
            userExample.setDistinct(false); //去除重复,true是选择不重复记录,false反之  
            UserExample.Criteria criteria = userExample.createCriteria(); //构造自定义查询条件  
            criteria.andUsernameEqualTo("张三");  
      
            //自定义查询条件可能返回多条记录,使用List接收  
            List<User> users = userMapper.selectByExample(userExample);  
      
            System.out.println(users);  
        } 
    

      

    说明:

    Mybatis逆向工程会生成实例及实例对应的example(用于添加条件,相当于where后的部分)  
    xxxExample example = new xxxExample();  
    Criteria criteria = example.createCriteria();  
    方法说明:  
    // 1.添加升序排列条件,DESC为降序  
    example.setOrderByClause("字段名ASC")  
    // 2.去除重复,boolean类型,true为选择不重复的记录  
    example.setDistinct(false)  
    // 3.添加字段xxx为null的条件  
    criteria.andXxxIsNull  
    // 4.添加字段xxx不为null的条件  
    criteria.andXxxIsNotNull  
    // 5.添加xxx字段等于value条件  
    criteria.andXxxEqualTo(value)  
    // 6.添加xxx字段不等于value条件  
    criteria.andXxxNotEqualTo(value)  
    // 7.添加xxx字段大于value条件  
    criteria.andXxxGreaterThan(value)  
    // 8.添加xxx字段大于等于value条件  
    criteria.andXxxGreaterThanOrEqualTo(value)  
    // 9.添加xxx字段小于value条件  
    criteria.andXxxLessThan(value)  
    // 10.添加xxx字段小于等于value条件  
    criteria.andXxxLessThanOrEqualTo(value)  
    // 11.添加xxx字段值在List  
    criteria.andXxxIn(List)  
    // 12.不添加xxx字段值在List  
    criteria.andXxxNotIn(List)  
    // 13.添加xxx字段值在之间  
    criteria.andXxxBetween(value1,value2)  
    // 14.添加xxx字段值不在之间  
    criteria.andXxxNotBetween(value1,value2)  
  • 相关阅读:
    springboot配置文件拆分
    SpringBoot中集成thymeleaf模板
    thymeleaf语法(二)
    thymeleaf的基本使用(一)
    js的for in循环和for of循环
    css动画箭头上线转动切换效果
    Gradle配置lintOptions
    使用IntelliJ IDEA创建Spring Boot项目
    SpringBoot的注解:
    Python的虚拟机安装已经如何配置Scrapy for Mac
  • 原文地址:https://www.cnblogs.com/robbinluobo/p/8554920.html
Copyright © 2011-2022 走看看