MybatisPlus-CRUD

文章目录

    • 1.Select
    • 2.Insert
    • 3.update
    • 4.delete

1.Select

  • 通过id查询单个用户

     //通过id查询单个用户
        @Test
        void contextLoads() {
    
            //查询全部用户
            //参数是一个Wrapper,条件构造器,这里先不用定为null
            List<User> users = userMapper.selectList(null);
            for (User user : users) {
                System.out.println(user);
            }
        }
    
  • 通过id查询多个用户

     @Test
        public void testSelectedBatchId(){
            List<User> users = userMapper.selectBatchIds(Arrays.asList(1L, 2L, 3L));//参数为一个集合
            for (User user : users) {
                System.out.println(user);
            }
        }
    
  • 根据属性查询 通过map封装

    @Test
        public void testSelectedByMap(){
    
            HashMap<String, Object> map = new HashMap<>();
            map.put("name","黄凯宇");
            map.put("age",18);
    
            List<User> users = userMapper.selectByMap(map);
            System.out.println(users);
        }
    

2.Insert

	@Test
    public void testInsert(){
        User user = new User();
        user.setName("黄凯宇");
        user.setAge(18);
        user.setEmail("[email protected]");

        int rs = userMapper.insert(user);
        System.out.println(user);
        System.out.println("结果=》"+rs); 
    }

请添加图片描述

我们实例化对象时并没有设置主键id,但是输出对象时id已经存在

数据库插入的id的默认值为:全局的唯—id

主键生成策略

public enum IdType {
    AUTO, //数据库id自增
    INPUT, //手动输入
    ID_WORKER, //默认的全局唯一id
    UUID, //全局唯一id  uuid
    NONE;//未设置主键
    **
}

AUTO: 我们需要配置主键自增

  • 在实体类字段上配置@TableId(type = IdType.AUTO)

MybatisPlus-CRUD_第1张图片

  • 数据库字段设置自增

MybatisPlus-CRUD_第2张图片

INPUT :手动输入id 需要自己写id

​ 不设置id为空

MybatisPlus-CRUD_第3张图片

3.update

 @Test
    public void testUpdate(){
        User user=new User();
        user.setId(1L);
        user.setName("alibaba");     //通过设置的属性动态拼接sql
        int rs = userMapper.updateById(user);  //byId 但是参数是个user,所以我们要在user里设置被修改属性的id
        System.out.println(user);
        System.out.println("结果=》"+rs);
    }

MybatisPlus-CRUD_第4张图片

4.delete

基本的删除任务

@Test
public void testDeleteById(){
    userMapper.deleteById(1L);
}
@Test
public void testDeleteBatchIds(){
  userMapper.deleteBatchIds(Arrays.asList(1L,2L));
}
@Test
public void testD(){
    HashMap<String, Object> map = new HashMap<>();
    map.put("age","18");
    map.put("name","lol");
    userMapper.deleteByMap(map);
}

你可能感兴趣的:(mybatis-plus,数据库,java,mybatis)