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