通用mapper常用查询方法测试

  1. 查询
  • List select(User record)
 User user = new User();
 //条件
 user.setName("hky");
 user.setAge(22);
 //查询(参数是一个对象类型)
 List<User> users = userMapper.select(user);
 for (User user1 : users) {
     
     System.out.println(user1);
 }
  • selectByPrimaryKey(Object key)

根据主键字段进行查询,方法参数必须包含完整的主键属性,查询条件使用等号

1. 直接给主键查询
User user2 = userMapper.selectByPrimaryKey(id);
//User(id=4, name=jim, age=55)
2. 结合其他条件
User user = new User();
//条件
user.setName("hky");
user.setAge(22);
User user2 = userMapper.selectByPrimaryKey(user);//null  相当于多条件查询
  • selectOne()

根据实体中的属性进行查询,只能有一个返回值,有多个结果是抛出异常,查询条件使用等号

1. 给出所有条件  
User user = new User();
//条件
user.setId(6);
user.setName("hky");
user.setAge(22);
User user1 = userMapper.selectOne(user);
//User(id=6, name=hky, age=22)
2. 数据库中存在相同的name
User user = new User();
//条件
user.setName("tom");
User user1 = userMapper.selectOne(user);
//抛出异常如下:找到两个符合条件的结果
Expected one result (or null) to be returned by selectOne(), but found: 2
  • selectAll() 查询所有数据
List users = userMapper.selectAll();
for (User user1 : users) {
    System.out.println(user1);
}
  • selectByExample() & selectOneByExample()

    根据Example条件进行查询 前者返回时list 后者返回一个结果(如果返回结果超过一个则抛出异常)如:

    Expected one result (or null) to be returned by selectOne(), but found: 2

Example example = new Example(User.class);
example.createCriteria().andEqualTo("name","hky").andEqualTo("age",22); //还可以继续添加条件
// 如果需要排序 注:中间用空格分开
example.setOrderByClause("age");//默认升序
 example.setOrderByClause("age asc");//升序
example.setOrderByClause("age desc");//降序
List users = userMapper.selectByExample(example);
for (User user1 : users) {
    System.out.println(user1);
}

更多请点击这里

你可能感兴趣的:(SpringBoot)