← 返回首页
MyBatisPlus基础教程(三)
发表时间:2020-03-28 11:50:37
讲解Mapper CRUD操作

接着上一节的案例,我们在测试类中测试MybatisPlus Mapper的CRUD操作。

1.insert操作

//测试添加单个用户资料
    @Test
    public void testInsert() {

        Users u = new Users();
        //手工添加主键
        u.setId(6L);
        u.setName("admin");
        u.setEmail("admin@qq.com");
        u.setAge(30);
        int result = usersMapper.insert(u);
        System.out.println("受影响的记录条数是:" + result);
        System.out.println("新增记录的主键是:" + u.getId());
    }

    //测试批量添加
    @Test
    public void testInsertBatch() {
        List<Users> users = new ArrayList<Users>();
        int iCount = 0;
        for (long i = 7; i < 20; i++) {
            Users u = new Users();
            u.setId(i);
            u.setName("张" + i);
            u.setAge(20 + (int) i);
            u.setEmail("zhang" + i + "@qq.com");
            int result = usersMapper.insert(u);
            iCount += result;
        }
        System.out.println("受影响的记录条数是:" + iCount);

    }

2.查询操作

    //测试查询所有用户资料
    @Test
    public void testSelectList() {
        System.out.println(("----- selectAll method test ------"));
        //UserMapper 中的 selectList() 方法的参数为 MP 内置的条件封装器 Wrapper
        //所以不填写就是无任何条件
        List<Users> users = usersMapper.selectList(null);
        users.forEach(System.out::println);
    }

    //根据ID查询单个用户资料
    @Test
    public void queryById() {
        Users u = usersMapper.selectById(6);
        System.out.println(u);
    }

    //通过多个id批量查询
    @Test
    public void queryBatchIds() {
        List<Users> users = usersMapper.selectBatchIds(Arrays.asList(1, 2, 3));
        users.forEach(System.out::println);
    }

    //简单条件查询
    @Test
    public void queryByMap() {
        HashMap<String, Object> map = new HashMap<>();
        map.put("name", "张三丰");
        map.put("age", 30);
        List<Users> users = usersMapper.selectByMap(map);
        users.forEach(System.out::println);
    } 

3.更新操作

    //测试更新
    @Test
    public void testUpdate() {
        Users u = usersMapper.selectById(6);
        u.setName("张三丰");
        int result = usersMapper.updateById(u);
        System.out.println("受影响的记录条数是:" + result);

    }

4.删除操作

    //测试根据ID删除
    @Test
    public void testDeleteById() {
        int result = usersMapper.deleteById(6L);

        System.out.println("受影响的记录条数是:" + result);
    }

    //测试批量删除
    @Test
    public void testDeleteBatchIds() {
        int result = usersMapper.deleteBatchIds(Arrays.asList(8, 9, 10));

        System.out.println("受影响的记录条数是:" + result);
    }

    //测试条件删除
    @Test
    public void testDeleteByMap() {
        HashMap<String, Object> map = new HashMap<>();
        map.put("email", "zhang19@qq.com");
        map.put("age", 39);
        int result = usersMapper.deleteByMap(map);
        System.out.println(result);

    }