mybatis generation自动生成的代码学习

1.mapper中的功能

    /*按条件计数*/
    long countByExample(AdminExample example);

    /*按条件查询*/
    int deleteByExample(AdminExample example);

    /*按主键删除*/
    int deleteByPrimaryKey(String id);

    /*插入数据(返回值为ID)*/
    int insert(Admin record);

    /*选择性保存数据*/
    int insertSelective(Admin record);

    /*按条件查询,通过特定限制条件查询信息,example用于生成一个Criteria对象来设置查询条件*/
    List selectByExample(AdminExample example);

    /*按主键查询*/
    Admin selectByPrimaryKey(String id);

    /*按条件更新 值不为null的字段*/
    int updateByExampleSelective(@Param("record") Admin record, @Param("example") AdminExample example);

    /*按条件更新*/
    int updateByExample(@Param("record") Admin record, @Param("example") AdminExample example);

    /*按主键更新 值不为null的字段*/
    int updateByPrimaryKeySelective(Admin record);

    /*按主键更新*/
    int updateByPrimaryKey(Admin record);

2.example类

    /*排序条件 用于指定ORDER BY条件,这个条件没有构造方法,直接通过传递字符串值指定。*/
    protected String orderByClause;

    /*去重标识 用于指定DISTINCT*/
    protected boolean distinct;

    /*用于自定义查询条件,最终以or进行连接的条件列表,Criteria为一个以and连接的条件集*/
    protected List oredCriteria;

    /*用于分页查询限制单页记录数*/
    private Integer limit;

    /*用于设置跳过的记录数*/
    private Long offset;

    /*增加空的以and连接的条件集,先增加后补全*/
    public Criteria or();

    /*增加空的以and连接的条件集,当且仅当容器为空时才能加入*/
    public Criteria createCriteria();

    /*增加空的条件描述对象容器,内部实现*/
    protected Criteria createCriteriaInternal();

    /*格式化过滤对象*/
    public void clear();

3.example类内部类

抽象类:条件描述对象容器:GeneratedCriteria
静态内部类:条件描述对象容器实现类:GeneratedCriteria
           条件描述对象:Criterion

4.单元测试

class AdminMapperTest {

    private final AdminMapper adminMapper;

    @Autowired
    AdminMapperTest(AdminMapper adminMapper){
        this.adminMapper = adminMapper;
    }

    @Test
    void countByExample() {
        AdminExample adminExample = new AdminExample();
        adminExample.createCriteria().andLimitNotEqualTo(0);
        long l = adminMapper.countByExample(adminExample);
        Assertions.assertNotNull(l);
        log.info("countByExample:"+l);
    }
    
    @Test
    void selectByExample() {
        AdminExample adminExample = new AdminExample();
        /*根据单一属性查找管理员*/
//        adminExample.or(adminExample.createCriteria().andIdEqualTo("admin1008602"));
        /*分页查询 从第2(Offset+1)条记录开始显示2(Limit)条记录*/
       /*adminExample.setOffset(Long.valueOf(1));
        adminExample.setLimit(2);*/
       /*根据名字相似来查找*/
//        adminExample.or(adminExample.createCriteria().andNameLike("Admin%"));
//        adminExample.setDistinct(true);
       /*不设置adminExample*/
        List admins = adminMapper.selectByExample(adminExample);
        Assertions.assertNotNull(admins);
        log.info("admins:"+admins);
    }
}

 

你可能感兴趣的:(mybatis)