Mybatis- Plus条件构造器

条件构造器EntityWrapper

1、EntityWrapper

1.1、简介
(1) Mybatis-Plus通过EntityWrapper(简称EW,MP封装的一个查询条件构造器)或者Condition(与EW类似)来让用户自由的构建查询条件,简单便捷没有额外的负担,能够有效地提高开发效率。
(2)是一个实体包装器,主要用于处理sql拼接、排序、实体参数查询等。
(3)注意:他使用的是数据库字段,不是java属性。
(4)参数说明:
Mybatis- Plus条件构造器_第1张图片
1.2、具体方法实例
(1)selectPage()方法
分页查询employee表中,年龄在18~50之间性别为男且姓名为xx的所有职员

	/**
     * 条件构造器 查询操作
     */
    @Test
    public void testEntityWrapperSelect(){
        List<Employee> employeeList = employeeMapper.selectPage(new Page<Employee>(1,2), new EntityWrapper<Employee>()
                .between("age",18,50)
                .eq("gender",1)
                .eq("last_name","Tom"));
        for(Employee employee:employeeList){
            System.out.println(employee);
        }
    }

控制台打印结果:Mybatis- Plus条件构造器_第2张图片
(2)selectList()方法
查询性别为女,名字中带有老师的或者邮箱带有"a"的职员

@Test
public void tsetEntityWrapperSelectList(){
    List<Employee> employeeList = employeeMapper.selectList(new EntityWrapper<Employee>()
            .like("last_name","老师")
            .or()
            .like("email","a")
            .eq("gender",0));
    for(Employee employee:employeeList){
        System.out.println(employee);
    }
}

控制台打印:Mybatis- Plus条件构造器_第3张图片
or()和orNew()的区别:
or() ——》(last_name LIKE ? OR email LIKE ? AND gender = ?)
orNew() ——》(last_name LIKE ?) OR (email LIKE ? AND gender = ?)
可以看出:or()前后的条件加在一个括号中,而orNew()则是将前后条件分别放入一个括号中.

(3)update()方法

/**
 *条件构造器 修改操作
 */
@Test
public void testEntityWrapperUpdate(){
    //修改姓名为Tom年龄为45的职员信息
    Employee employee = new Employee();
    employee.setLastName("Cat");
    employee.setEmail("[email protected]");
    employee.setGender(0);
    employee.setAge(13);
    Integer result = employeeMapper.update(employee,new EntityWrapper<Employee>().eq("last_name","Tom")
                                                .eq("age",45));
    System.out.println("影响条数:"+result);
}

控制台打印:Mybatis- Plus条件构造器_第4张图片
(4)delelte()方法:没啥特殊变化不在展示

Integer delete(@Param("ew") Wrapper<T> var1);

你可能感兴趣的:(持久化框架,mybatis)