mybatis-plus使用

博客介绍了MyBatis-Plus快速搭建工程的方法,给出了搭建工程的链接。还阐述了增删查改(CRUD)操作,提供了所有CRUD接口的链接,包含通用使用示例。此外,介绍了条件构造器QueryWrapper和UpdateWrapper,并给出多个使用实例。

mybatis-plus 快速搭建工程

https://mp.baomidou.com/guide/quick-start.html#初始化工程

增删查改(CRUD)

链接中给出了所有的CRUD接口:

https://mp.baomidou.com/guide/crud-interface.html#selectbymap

通用使用示例:
  1. 增:
    public void testInsert(){
        Employee employee = new Employee();
        employee.setLastName("东方不败");
        employee.setEmail("dfbb@163.com");
        employee.setGender(1);
        employee.setAge(20);
        emplopyeeDao.insert(employee);
        //mybatisplus会自动把当前插入对象在数据库中的id写回到该实体中
        System.out.println(employee.getId());
    }
  1. 删:
//1.根据id删除
emplopyeeDao.deleteById(1);

//2.根据Map删除
Map<String,Object> columnMap = new HashMap<>();
columnMap.put("gender",0);
columnMap.put("age",18);
emplopyeeDao.deleteByMap(columnMap);

//3.根据id批量删除
List<Integer> idList = new ArrayList<>();
idList.add(1);
idList.add(2);
emplopyeeDao.deleteBatchIds(idList);
  1. 查:
//1.根据id查询
Employee employee = emplopyeeDao.selectById(1);

//2. 3. 略
//4. 根据id批量查询
List<Integer> idList = new ArrayList<>();
idList.add(1);
idList.add(2);
idList.add(3);
List<Employee> employees = emplopyeeDao.selectBatchIds(idList);
System.out.println(employees);
  1. 改:
public void testUpdate(){
        Employee employee = new Employee();
        employee.setId(1);
        employee.setLastName("更新测试");
        //emplopyeeDao.updateById(employee);//根据id进行更新,没有传值的属性就不会更新
        emplopyeeDao.updateAllColumnById(employee);//根据id进行更新,没传值的属性就更新为null
}
条件构造器(QueryWrapper以及UpdateWrapper)

实例:

1、分页查询年龄在18 - 50且gender为0、姓名为tom的用户:

List<Employee> employees = emplopyeeDao.selectPage(new Page<Employee>(1,3),
  new QueryWrapper<Employee>()
     .between("age",18,50)
     .eq("gender",0)
     .eq("last_name","tom")
);

2、查询gender为0且名字中带有老师、或者邮箱中带有a的用户:

List<Employee> employees = emplopyeeDao.selectList(
                new QueryWrapper<Employee>()
               .eq("gender",0)
               .like("last_name","老师")
                //.or()//和or new 区别不大
               .orNew()
               .like("email","a")
);

3、查询gender为0,根据age排序,简单分页:

List<Employee> employees = emplopyeeDao.selectList(
                new QueryWrapper<Employee>()
                .eq("gender",0)
                .orderBy("age")//直接orderby 是升序,asc
                .last("desc limit 1,3")//在sql语句后面追加last里面的内容(改为降序,同时分页)
);

4、根据条件更新:

//该案例表示把last_name为tom,age为25的所有用户的信息更新为employee中设置的信息。
public void testQueryWrapperUpdate(){
        Employee employee = new Employee();
        employee.setLastName("苍老师");
        employee.setEmail("cjk@sina.com");
        employee.setGender(0);
        emplopyeeDao.update(employee,
                new UpdateWrapper<Employee>()
                .eq("last_name","tom")
                .eq("age",25)
        );
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值