【MyBatis-Plus】MyBatis-Plus增删改查

插入数据

 @Test
    void testInsert(){
        //插入数据
        //sql:INSERT INTO user ( id, name, age, email ) VALUES ( ?, ?, ?, ? )
        User user=new User();
        user.setAge(23);
        user.setName("张三");
        user.setEmail("1643688@qq.com");
        int result = userMapper.insert(user);
        System.out.println(result);
        //获取的id是默认由雪花算法生成的
        //这也是为什么数据库中id设置为bigint,在实体类中设置类型为Long类型
        System.out.println(user.getId());
    }

删除数据

  @Test
    void testDelete(){
        //根据id删除1501029657401708546
        //sql:DELETE FROM user WHERE id=?
        int i = userMapper.deleteById(1501029657401708546L);
        System.out.println(i);
        //批量删除
        //sql:DELETE FROM user WHERE id IN ( ? , ? , ? )
        List<Long> longs = Arrays.asList(1L, 2L, 3L); //把要删除的数据的id封装成list,因为是Long类型所以需要加上L
        int i1 = userMapper.deleteBatchIds(longs);
        System.out.println(i1);

        //根据map删除数据,相当于把map数据里面的值当做查询条件
        //sql:DELETE FROM user WHERE name = ? AND age = ?
        Map<String,Object> map=new HashMap<>();
        map.put("age",23);
        map.put("name","张三");
        userMapper.deleteByMap(map);
    }

更新数据

@Test
    void testUpdate(){
        //根据id更新数据
        //sql:UPDATE user SET name=?, email=? WHERE id=?
        User user=new User();
        user.setId(4L);
        user.setName("李四");
        user.setEmail("1643687525@qq.com");
        userMapper.updateById(user);
    }

查询数据

@Test
    void testSelect(){
        //查询所有数据
        //sql:SELECT id,name,age,email FROM user
        List<User> users = userMapper.selectList(null);
        users.forEach(System.out::println);

        //根据id查询数据
        //sql:SELECT id,name,age,email FROM user WHERE id=?
        User user=userMapper.selectById(4L);
        System.out.println(user);

        //批量查询数据
        //sql:SELECT id,name,age,email FROM user WHERE id IN ( ? , ? )
        List<Long> longs = Arrays.asList(4L, 5L);
        List<User> users1 = userMapper.selectBatchIds(longs);
        users1.forEach(System.out::println);

        //根据Map查询数据
        //sql:SELECT id,name,age,email FROM user WHERE name = ? AND age = ?
        Map<String,Object> map=new HashMap<>();
        map.put("name","李四");
        map.put("age",21);
        List<User> users2 = userMapper.selectByMap(map);
        users2.forEach(System.out::println);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值