一、基本操作
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));
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));