• generator逆向工程的使用


    搬运连接:https://blog.csdn.net/qq_39056805/article/details/80585941

    查询

      首先说一下查询的不足之处:不能指定查询的列,只能够查询所有列

        

    我们可以看到,有三个查询方法(一般来说只有两个查询方法,第二个查询方法只会在特定条件下出现)

    方法1:selectByExample(TbItemDescExample  example)        

    返回值:List<TbItemDesc>

    作用:通过特定限制条件查询信息,example用于生成一个Criteria对象来设置查询条件

    int countByExample(UserExample example) thorws SQLException    按条件计数
    int deleteByPrimaryKey(Integer id) thorws SQLException    按主键删除
    int deleteByExample(UserExample example) thorws SQLException    按条件查询
    String/Integer insert(User record) thorws SQLException    插入数据(返回值为ID)
    User selectByPrimaryKey(Integer id) thorws SQLException    按主键查询
    ListselectByExample(UserExample example) thorws SQLException    按条件查询
    ListselectByExampleWithBLOGs(UserExample example) thorws SQLException    按条件查询(包括BLOB字段)。只有当数据表中的字段类型有为二进制的才会产生。
    int updateByPrimaryKey(User record) thorws SQLException    按主键更新
    int updateByPrimaryKeySelective(User record) thorws SQLException    按主键更新值不为null的字段
    int updateByExample(User record, UserExample example) thorws SQLException    按条件更新
    int updateByExampleSelective(User record, UserExample example) thorws SQLException    按条件更新值不为null的字段
     
     
     

     具体可设置的条件很多很多,根据表的结构的不同会有不同的可限制条件,比如:

     使用案例

     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)  

    在example 除了这有的以外 AND OR, 还有联表查询,批量增删改?这些怎么写?

    //通过criteria构造查询条件

    UserExample userExample = new UserExample();

    userExample.setOrderByClause("username asc");//asc升序,desc降序排列

    userExample.setDistinct(false); //去除重复,true是选择不重复记录,false反之

    UserExample.Criteria criteria = userExample.createCriteria(); //构造自定义查询条件

    积极向上,奋发图强,向着哪个目标前进。
  • 相关阅读:
    BZOJ 4032: [HEOI2015]最短不公共子串 (dp*3 + SAM)
    后缀自动机详解!
    BZOJ 3926: [Zjoi2015]诸神眷顾的幻想乡(广义后缀自动机 多串)
    BZOJ 3938 Robot
    [JSOI2008]Blue Mary开公司
    [ZJOI2017]树状数组
    [JSOI2015]非诚勿扰
    [HNOI2011]任务调度
    BZOJ 3680 吊打XXX
    POJ 3318 Matrix Multiplication
  • 原文地址:https://www.cnblogs.com/wzq-xf/p/11589700.html
Copyright © 2020-2023  润新知