public class TestMP3 {
@Autowired
private UserMapper userMapper;
@Test
public void select1(){
//查询id为23的用户
User user = userMapper.selectById(23);
System.out.println(user);
}
@Test
public void select2(){
//查询姓名为潘凤,性别为男的用户
User user = new User();
user.setName("潘凤").setSex("男");
QueryWrapper queryWrapper = new QueryWrapper(user);
List<User> userList = userMapper.selectList(queryWrapper);
System.out.println(userList);
}
@Test
public void select3(){
//查找年龄大于18或者性别为男的用户数据
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.gt("age",18)
.or()
.eq("sex","男");
List<User> userList = userMapper.selectList(queryWrapper);
System.out.println(userList);
}
@Test
public void select4(){
//使用模糊查询查找以精字结尾的用户,并且使用降序排序
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.likeLeft("name","精")
.orderByDesc("age");
List<User> userList = userMapper.selectList(queryWrapper);
System.out.println(userList);
}
@Test
public void select5(){
//查询id为1,3,6,7的用户
Integer[] ids = {1,3,6,7};//使用数组
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.in("id",ids);
List<User> userList = userMapper.selectList(queryWrapper);
System.out.println(userList);
}
@Test
//查询名字为空的数据
public void select6() {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("name");
List<User> userList = userMapper.selectList(queryWrapper);
System.out.println(userList);
}
//动态sql查询
//要求:根据name属性和sex属性查询,如果其数据为null,则不参与where条件的拼接
/**
API说明:
* queryWrapper.gt(判断条件,字段名称,字段值)
* 判断条件: true 则动态的拼接where条件
* false 不会拼接where条件
* 判断语句:
* Boolean sexBoo = (sex !=null) && sex.length()>0;
*/
@Test
public void select7(){
Integer age = 18;
String sex = null;
//Boolean sexBoo = (sex !=null) && sex.length()>0;//条件判断
boolean flag = StringUtils.hasLength(sex);
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.gt(age > 0,"age",age)
.eq(flag,"sex",sex);
List<User> userList = userMapper.selectList(queryWrapper);
System.out.println(userList);
}
@Test
public void select8(){
//查询name和age的用户
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select("name","age");
//没有查询的数据以null返回
List<User> userList = userMapper.selectList(queryWrapper);
System.out.println(userList);
}
@Test
public void select9(){
//查询name和age的用户
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.select("name,age");
//只返回name和age
List<Map<String,Object>> list = userMapper.selectMaps(queryWrapper);
System.out.println(list);
}
//要求返回第一列数据
@Test
public void select10(){
List<Object> list = userMapper.selectObjs(null);
System.out.println(list);
}
}
MP用法:
最新推荐文章于 2024-03-09 22:52:00 发布
本文档展示了如何使用Spring Boot结合MyBatis进行数据库操作,包括基本查询、动态SQL、复杂查询条件和特定字段选择。通过实例演示了用户数据的CRUD操作以及查询优化技巧。
391

被折叠的 条评论
为什么被折叠?



