通用mapper的常用查询,select和selectByPrimaryKey
通用mapper 的查询总结
1.如果是等值查询
根据其主键查询,则可以用selectByPrimaryKey()
如果不是主键,而是根据其他值查询,那么用select(T t)
T为通用mapper对应的类类型,这里传入一个该类的实例,根据改实例去匹配对应字段相同的返回。
eg:
User user=new User(); user.setName("name1"); user.setAge(12); List<User> users= this.userMapper.select(user);
userMapper.select(user);//查找name姓名为name1,年龄为12 的user
2.如果是模糊查询,则用select(Example),eg:
// 初始化example对象 Example example = new Example(User.class); Example.Criteria criteria = example.createCriteria(); //设置筛选条件 criteria.andLike("name", "%" + key + "%").orEqualTo("firstChar", key); //设置排序 example.setOrderByClause(sortBy + " " + (desc ? "desc" : "asc")); //开始查询 List<User> users = this.userMapper.selectByExample(example);
3.特殊的,一次根据多个主键id查询多个对象,SelectByIdListMapper
首先要在mapper接口出增加SelectByIdListMapper<Category,Long>:
public interface CategoryMapper extends Mapper<Category> ,SelectByIdListMapper<Category,Long>{
然后,在具体使用的service中,通过selectByIdList(ids)就可以查询得到数据了.
List<User> users = this.userMapper.selectByIdList(ids);
下一篇:
RibbitMQ的五种模式以及使用场景