查询专栏:select语句中不列出全部字段
文章目录
- 1. 第一种形式
- 2. 第二种形式
1. 第一种形式
- 通过queryWrapper调用select方法,在select方法中添加需要查询的列
/*** 1. 名字包含雨并且年齡小于40* sql:name like '%雨%' and age < 40*/@Testpublic void selectByWrapperSupper() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();
// queryWrapper.like("name", "雨").lt("age", 40);queryWrapper.select("id", "name").like("name", "雨").lt("age", 40);List<User> userList = userMapper.selectList(queryWrapper);userList.forEach(System.out::println);}/*sql形式:SELECT id,name FROM user WHERE name LIKE ? AND age < ?这种情况,你查询什么列,如果有值就会查询出来,没查询的列的值默认为null*/
2. 第二种形式
- 通过排除列操作
- !tableFieldInfo.getColumn()
.equals(“create_time”)
这句话的意思是,create_time这列不查询
/*** 2. 名字包含雨并且年齡小于40* sql:name like '%雨%' and age < 40*/@Testpublic void selectByWrapperSupper2() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();
// queryWrapper.like("name", "雨").lt("age", 40);queryWrapper.like("name", "雨").lt("age", 40).select(User.class, tableFieldInfo -> !tableFieldInfo.getColumn().equals("create_time")&& !tableFieldInfo.getColumn().equals("manager_id"));List<User> userList = userMapper.selectList(queryWrapper);userList.forEach(System.out::println);}/*sql形式:SELECT id,name FROM user WHERE name LIKE ? AND age < ?*/
想学习更多微服务、分布式、中间件、数据库、项目快速构建等系列技术
请访问http://gblfy.com
让我们一起进步!!!