mybatisPlus 条件构造器QueryWapper 实操

1. 操作demo

/**
 * mybatisPlus 类似jpa功能实操测试
 * 包括 简单查询 和 使用条件构造器QueryWapper复杂查询
 *
 * @author caoyn
 * @date 2020/4/13
 */
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class UserMapperTest {

    @Resource
    private UserMapper dao;

    /**
     * 新增
     */
    @Test
    public void testInsert(){
        User user = new User();
        user.setName("李晓明");
        user.setPassword("1234134");
        user.setPhone("13770845467");
        user.setSex(1);
        user.setCreateTime(LocalDateTime.now());
        user.setUpdateTime(LocalDateTime.now());
        dao.insert(user);
    }

    /**
     * 查询
     */
    @Test
    public void testSelect(){
        // 单记录查询
        User user = dao.selectById(1);
        log.info(user.toString());

        // 单记录条件 条件构造器 查询
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("name", "张三丰");

        User user01 = dao.selectOne(queryWrapper);
        log.info(user01.toString());


        // 多记录查询
        // 查询所有
        List<User> list01 = dao.selectList(null);
        // id查询
        List<String> ids = new ArrayList<String>();
        ids.add("1");
        ids.add("2");
        List<User> list02 = dao.selectBatchIds(ids);

        // 多记录map
        HashMap<String, Object> map = new HashMap<>(16);
        map.put("email", "6786756755@qq.com");
        map.put("sex", "1");
        List<User> list = dao.selectByMap(map);
        log.info("return selectByMap value = " + list);


        // 多记录复杂条件查询
        QueryWrapper<User> queryWrapper01 = new QueryWrapper<>();
        queryWrapper01.eq("name","张三丰");
        queryWrapper01.like("introduction","%故事%");
        queryWrapper01.orderByAsc("create_time");

        // 记录总数查询
        int count = dao.selectCount(queryWrapper01);
        log.info("result count = " + count);

        queryWrapper01.select("id","name","phone","sex","create_time");
        List<User> users = dao.selectList(queryWrapper01);

        for (User u : users) {
            log.info(u.toString());
        }

        // 分页查询
        Page<User> page = new Page<>(1, 5);
        QueryWrapper<User> queryWrapper02 = new QueryWrapper<>();

        IPage<User> userIPage = dao.selectPage(page, queryWrapper02);

        log.info(userIPage.toString());



    }

    /**
     * 修改
     */
    @Test
    public void testUpdate(){
        User user = dao.selectById(1);
        user.setUpdateTime(LocalDateTime.now());
        dao.updateById(user);

        // 多条件修改

        // 修改值
        User user01 = new User();
        user01.setStatus("1");
        user01.setName("李维斯");

        // 修改条件
        UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("name", "王菲菲");

        int update = dao.update(user01, updateWrapper);

    }

    /**
     * 删除
     */
    @Test
    public void testDelete(){
        // 简单删除
        int result = dao.deleteById(4);

        // 多条件删除
        List<String> ids = new ArrayList<String>();
        ids.add("1");
        ids.add("2");

        QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
        userQueryWrapper
                .isNull("name")
                .ge("status","1")
                .in("id",ids)
                .isNotNull("email");
        int delete = dao.delete(userQueryWrapper);
        log.info("delete return count = " + delete);

    }
}

2. 参考使用文档

在这里插入图片描述

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值