mybatis-plus(后面简称为mp)是mybatis的增强版,官方称之为 “ 只做增强,不做修改 ”。mp将一些简单的sql语句进行了封装和自动生成,提高了效率,但是降低了性能。
那么,用mybatis可以自己写sql,查询语句可以自由发挥,比如可以只查询表中的部分字段,对于mp也有两种针对此种需求的方法,下面就来介绍:
方法1:只需要查询出name和phone两个字段:使用queryWrapper的select()方法指定要查询的字段
@RequestMapping("/selectByWrapper1")
public List<SysUser> selectByWrapper1(){
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
queryWrapper.select("username");//指定查询某字段
List<SysUser> sysUsers=sysUserService.list(queryWrapper);
return sysUsers;
}
方法2:查询出除age和address外其它所有字段的数据:同样使用queryWrapper的select()方法
@RequestMapping("/selectByWrapper2")
public List<SysUser> selectByWrapper2(){
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
queryWrapper.select(SysUser.class, info ->!info.getColumn().equals("id") && !info.getColumn().equals("email"));//查询指定某字段以外的数据
List<SysUser> sysUsers=sysUserService.list(queryWrapper);
return sysUsers;
}