Mybatis-Plus 通用CRUD和注解

MP为我们封装了诸多DB方法,下面了解其使用方式。

注解:

    @TableId(type = IdType.AUTO)//IdType主键类型,指定为自增长
    private Long id;

    @TableField(value = "email")//映射至表中不同命字段
    private String mail;

    @TableField(exist = false)//表中不存在
    private int power;

    @TableField(select = false)//查询命令不返回该字段值
    private String password;

通用CRUD:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath*:applicationContext.xml"})
public class test {
    @Autowired
    private UserMapper mapper;


//插入操作
    @Test
    public void testInsert() {
        User user = new User();
        user.setAge(0);
        user.setUserName("kvno");
        user.setMail("@gmail");
        user.setPassword("123123");

        int result = mapper.insert(user);//返回Integer为受影响的行数
        System.out.println(result);

        System.out.println(user.getId());//MP中自增后的id会回传
    }


//更改操作
    @Test
    public void testUpdateById() {
        //按id操作
        User user = new User();
        user.setId(6L); //主键,类型为Long故加一个L
        user.setAge(21);

        int result = mapper.updateById(user);
        System.out.println(result);
    }

    @Test
    public void testUpdate() {
        User user = new User();
        user.setAge(22);

        //通过QueryWrapper设置筛选条件
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.eq("id", 6); //equal:对表中字段id=6的数据进行操作

        int result = mapper.update(user, wrapper);
        System.out.println(result);
    }

    @Test
    public void testUpdate2() {
        //通过UpdateWrapper设置筛选条件
        UpdateWrapper<User> wrapper = new UpdateWrapper<>();
        wrapper.eq("id", 6).set("age", 23);

        int result = mapper.update(null, wrapper);
        System.out.println(result);
    }


//删除操作
    @Test
    public void testDelete() {
        User user = new User();
        user.setAge(20);
        user.setName("张三");

        //将对象作为删除条件
        QueryWrapper<User> wrapper = new QueryWrapper<>(user);
        int result = mapper.delete(wrapper);
        System.out.println(result);
    }

    @Test public void testDeleteById() {
        //按id删除
        int result = mapper.deleteById(6L);
        System.out.println(result);
    }

    @Test public void testDeleteByMap() {
        Map<String, Object> columnMap = new HashMap<>();
        columnMap.put("age",20);
        columnMap.put("name","张三");

        //将columnMap中的元素设置为删除的条件,条件之间为and关系
        int result = mapper.deleteByMap(columnMap);
        System.out.println(result);
    }

    @Test
    public void testDeleteBatchIds() {
        //根据id集合批量删除
        int result = mapper.deleteBatchIds(Arrays.asList(1L,10L,20L));
        System.out.println("result = " + result);
    }


//查询操作
    @Test
    public void testSelectById() {
        //根据id查询数据
        User user = mapper.selectById(2L);
        System.out.println(user);
    }

    @Test
    public void testSelectByMap() {
        Map<String, Object> columnMap = new HashMap<>();
        columnMap.put("age",18);
        columnMap.put("name","张三");

        //将columnMap中的元素设置为删除的条件,条件之间为and关系
        List<User> users  = mapper.selectByMap(columnMap);
        for (User user : users) {
            System.out.println(user);
        }
    }

    @Test
    public void testSelectBatchIds() {
        //根据id集合批量查询
        List<User> users = mapper.selectBatchIds(Arrays.asList(2L, 3L, 10L));
        for (User user : users) {
            System.out.println(user);
        }
    }

    @Test
    public void testSelectOne() {
        QueryWrapper<User> wrapper = new QueryWrapper<User>();
        wrapper.eq("name", "李四");

        //根据条件查询一条数据,如果结果超过一条会报错
        User user = mapper.selectOne(wrapper);
        System.out.println(user);
    }

    @Test
    public void testSelectList() {
        QueryWrapper<User> wrapper = new QueryWrapper<User>();
        wrapper.gt("age", 23); //条件为age大于23

        //根据条件查询所有数据
        List<User> users = mapper.selectList(wrapper);
        for (User user : users) {
            System.out.println(user);
        }
    }

    @Test
    public void testSelectPage() {
        QueryWrapper<User> wrapper = new QueryWrapper<User>();
        wrapper.gt("age", 20);

        Page<User> page = new Page<>(1,1);//要查询的页码;每页数据条数

        //根据条件查询数据
        IPage<User> iPage = mapper.selectPage(page, wrapper);

        System.out.println("数据总条数:" + iPage.getTotal());
        System.out.println("总页数:" + iPage.getPages());
        List<User> users = iPage.getRecords();
        for (User user : users) {
            System.out.println(user);
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值