MybatisPlus-通用Mapper


一、基本操作

1.新建UserMapper 文件

public interface UserMapper extends BaseMapper<User> {
}

2.新建實體對象User

@Data
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

3.配置MapperScan注解

@SpringBootApplication
@MapperScan("com.xl.baomidouTest.mapper")
public class BaomidouTestApplication {

    public static void main(String[] args) {
        SpringApplication.run(BaomidouTestApplication.class, args);
    }
}

二、操作方法

1.Insert

// 插入一條記錄 int insert(T entity);
  @Test
    void insert(){
        User user = new User();
        user.setName("123");
        user.setAge(12);
        user.setEmail("xl@qq.com");
        int rows = userMapper.insert(user);
        System.out.println("受影響行數"+rows);
    }

2.Delete

// 根據 entity 條件,刪除記錄 int delete(@Param(Constants.WRAPPER) Wrapper<T> wrapper); // 刪除(根據ID 批量刪除) int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList); // 根據 ID 刪除 int deleteById(Serializable id); // 根據 columnMap 條件,刪除記錄 int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
    @Test
    void delete(){
        int row = userMapper.deleteById(1279329436131975170L);
        System.out.println(row);

        Map<String,Object> dataMap = new HashMap<>();
        dataMap.put("id",1279329782896082946L);
        row = userMapper.deleteByMap(dataMap);
        System.out.println(row);

        LambdaQueryWrapper<User> userLambdaQueryWrapper = Wrappers.<User>lambdaQuery();
        userLambdaQueryWrapper.eq(User::getName,"xiangming");
        int rows = userMapper.delete(userLambdaQueryWrapper);
        System.out.println(rows);
    }

3.Update

// 根據 whereEntity 條件,更新記錄 int update(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) Wrapper<T> updateWrapper); // 根據 ID 修改 int updateById(@Param(Constants.ENTITY) T entity);
@Test
    void update(){
        User user = new User();
        user.setId(1l);
        user.setName("xiangli");
        int row = userMapper.updateById(user);
        System.out.println("影響記錄數:"+row);

        UpdateWrapper<User> userUpdateWrapper = new UpdateWrapper<>();
        userUpdateWrapper.eq("name","xiangli");
        User user1 = new User();
        user1.setName("xiangming");
        System.out.println("受影響行數:"+userMapper.update(user1,userUpdateWrapper));

        UpdateWrapper<User> userUpdateWrappers = new UpdateWrapper<>();
        userUpdateWrappers.eq("id",1).set("name","Jack");
        System.out.println("受影響行數:"+ userMapper.update(null,userUpdateWrappers);

        LambdaUpdateWrapper<User> lambdaUpdateWrapper = Wrappers.<User>lambdaUpdate();
        lambdaUpdateWrapper.eq(User::getId,2).set(User::getName,"Jim");
        System.out.println("受影響行數:"+ userMapper.update(null,lambdaUpdateWrapper);

        boolean flag = new LambdaUpdateChainWrapper<User>(userMapper).eq(User::getId,3).set(User::getName,"Alice").update();
        System.out.println(flag);
    }

4.Select

// 根據 ID 查詢 T selectById(Serializable id); // 根據 entity 條件,查詢一條記錄 T selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // 查詢(根據ID 批量查詢) List<T> selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList); // 根據 entity 條件,查詢全部記錄 List<T> selectList(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // 查詢(根據 columnMap 條件) List<T> selectByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap); // 根據 Wrapper 條件,查詢全部記錄 List<Map<String, Object>> selectMaps(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // 根據 Wrapper 條件,查詢全部記錄。注意: 只返回第一個字段的值 List<Object> selectObjs(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // 根據 entity 條件,查詢全部記錄(並翻頁) IPage<T> selectPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // 根據 Wrapper 條件,查詢全部記錄(並翻頁) IPage<Map<String, Object>> selectMapsPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // 根據 Wrapper 條件,查詢總記錄數 Integer selectCount(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper); 
List<User> userList = userMapper.selectList(null);
Assert.assertEquals(5, userList.size());
userList.forEach(System.out::println);

System.out.println(userMapper.selectById(1));

List<User> userList1 = userMapper.selectBatchIds(Arrays.asList(1,2,3));
userList1.forEach(System.out::println);

Map<String,Object>  map = new HashMap<>();
map.put("age","12");
userMapper.selectByMap(map).forEach(System.out::println);


QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name","j").lt("age","30");
userMapper.selectList(queryWrapper).forEach(System.out::println);

QueryWrapper<User> queryWrapper8 = new QueryWrapper<>();
Map<String,Object> map2 = new HashMap<>();
map2.put("name","123");
//map.put("age",null);
queryWrapper8.allEq(map2);
//queryWrapper.allEq((k,y)->!k.equals("age"),map);
userMapper.selectMaps(queryWrapper8).forEach(System.out::println);

QueryWrapper<User> queryWrapper9 = new QueryWrapper<>();
Map<String,Object> map3 = new HashMap<>();
map3.put("name","123");
queryWrapper9.allEq(map3);
userMapper.selectObjs(queryWrapper9).forEach(System.out::println);

QueryWrapper<User> queryWrapper10 = new QueryWrapper<>();
Map<String,Object> map4 = new HashMap<>();
map4.put("name","123");
queryWrapper10.allEq(map4);
System.out.println(userMapper.selectCount(queryWrapper));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM