常用注解
@TableName(“数据库表名”):
使用场景实体类名称和数据表名不一致时,通过它指定表名,此时就可以使用mp的单表操作。
@TableId(“主键名”):
使用场景实体类属性名称和数据表主键不是id时,通过它声明该属性为主键,就可以采用雪花算法生成主键值操作。
@TableField(“字段名”):
使用场景实体类属性名称和数据表字段名不一致时,通过它指定数据表字段名称,就可以和实体类属性对应。
Mybatis-Plus查询方法
1.普通查询
1、T selectById(Serializable id):使用场景为通过主键查询,只要该主键类型实现了Serialzable接口即可。
User user = userMapper.selectById(6);
2、List selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable>
idList):使用场景为通过主键的集合去批量查询,前提主键的类型实现了Serializable接口。
List<Long> userListId = Arrays.asList(1L, 2L, 3L);
List<User> userList = userMapper.selectBatchIds(userListId);
3、List selectByMap(@Param(Constants.COLUMN_MAP) Map<String,Object> columnMap):使用场景为传入一个Map集合,key为表字段,value为表字段值。
注意:Map的key为数据表的字段名,不是实体类属性名。
Map<String, Object> userMap = new HashMap<>();
userMap.put("age", 20);
List<User> userList = userMapper.selectByMap(userMap);