-
13333333333333333
查看全部 -
selectByMap()
查看全部 -
selectBatchIds(@Param(Constants.COLLECTION)Collection<? extends Serializable> idList);
根据id集合获取对象集合list
Arrays.asList(id1,id2)将list集合参数进行forEach输出:
userList.forEach(System.out::println);查看全部 -
selectById(...id) 根据主键获取实体
查看全部 -
@TableField(exist=false) //exist=false表示数据库字段并无该属性
private String remark;查看全部 -
@Transient 注解的实体类字段不参数序列化过程
查看全部 -
其它字段指定数据库中对应名称
@TableField("name")//数据库中叫name
private String realName;查看全部 -
@TableId 注解到实体类的表id字段 可以取代表中id主键不叫id的别名的
对应驼峰写法 如 实体类 memberId, 表中 member_id查看全部 -
@TableName 在实体类执行表名 别名
查看全部 -
zzzccc查看全部
-
asdasdagasdfgadf查看全部
-
asdasda
查看全部 -
package com.mp; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.mp.dao.UserMapper; import com.mp.entity.User; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Description * @auther mohuani * @create 2019-12-25 11:37 */ @RunWith(SpringRunner.class) @SpringBootTest public class RetrieveTest { @Autowired private UserMapper userMapper; @Test public void selectById() { User user = userMapper.selectById(1088250446457389058L); System.out.println(user); } @Test public void selectBatchIds() { List<Long> list = Arrays.asList(1088248166370832385L, 1094590409767661570L, 1209509417456001025L); List<User> userList = userMapper.selectBatchIds(list); userList.forEach(System.out::println); } @Test public void selectByMap() { Map<String, Object> columnMap = new HashMap<>(); columnMap.put("name", "李艺伟"); columnMap.put("age", 28); List<User> userList = userMapper.selectByMap(columnMap); userList.forEach(System.out::println); } /** * 1、名字中包含雨并且年龄小于40 * name like '%雨%' and age<40 */ @Test public void selectByWrapper() { QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.like("name", "雨").lt("age", 40); List<User> userList = userMapper.selectList(queryWrapper); userList.forEach(System.out::println); } /** * 2、名字中包含雨年并且龄大于等于20且小于等于40并且email不为空 * name like '%雨%' and age between 20 and 40 and email is not null */ @Test public void selectByWrapper2() { QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.like("name", "雨").between("age" ,20 ,40).isNotNull("email"); List<User> userList = userMapper.selectList(queryWrapper); userList.forEach(System.out::println); } /** * 3、名字为王姓或者年龄大于等于25,按照年龄降序排列,年龄相同按照id升序排列 * name like '王%' or age>=25 order by age desc,id asc */ @Test public void selectByWrapper3() { QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.likeRight("name", "王").or().gt("age", 25).orderByDesc("age").orderByAsc("id"); List<User> userList = userMapper.selectList(queryWrapper); userList.forEach(System.out::println); } }
查看全部 -
一、查询需求
1、名字中包含雨并且年龄小于40
name like '%雨%' and age<40
2、名字中包含雨年并且龄大于等于20且小于等于40并且email不为空
name like '%雨%' and age between 20 and 40 and email is not null
3、名字为王姓或者年龄大于等于25,按照年龄降序排列,年龄相同按照id升序排列
name like '王%' or age>=25 order by age desc,id asc
4、创建日期为2019年2月14日并且直属上级为名字为王姓
date_format(create_time,'%Y-%m-%d')='2019-02-14' and manager_id in (select id from user where name like '王%')
5、名字为王姓并且(年龄小于40或邮箱不为空)
name like '王%' and (age<40 or email is not null)
6、名字为王姓或者(年龄小于40并且年龄大于20并且邮箱不为空)
name like '王%' or (age<40 and age>20 and email is not null)
7、(年龄小于40或邮箱不为空)并且名字为王姓
(age<40 or email is not null) and name like '王%'
8、年龄为30、31、34、35
age in (30、31、34、35)
9、只返回满足条件的其中一条语句即可
limit 1
二、select中字段不全部出现的查询
10、名字中包含雨并且年龄小于40(需求1加强版)
第一种情况:select id,name
from user
where name like '%雨%' and age<40
第二种情况:select id,name,age,email
from user
where name like '%雨%' and age<40
三、统计查询:
11、按照直属上级分组,查询每组的平均年龄、最大年龄、最小年龄。
并且只取年龄总和小于500的组。
select avg(age) avg_age,min(age) min_age,max(age) max_age
from user
group by manager_id
having sum(age) <500
查看全部 -
一、查询需求
1、名字中包含雨并且年龄小于40
name like '%雨%' and age<40
2、名字中包含雨年并且龄大于等于20且小于等于40并且email不为空
name like '%雨%' and age between 20 and 40 and email is not null
3、名字为王姓或者年龄大于等于25,按照年龄降序排列,年龄相同按照id升序排列
name like '王%' or age>=25 order by age desc,id asc
4、创建日期为2019年2月14日并且直属上级为名字为王姓
date_format(create_time,'%Y-%m-%d')='2019-02-14' and manager_id in (select id from user where name like '王%')
5、名字为王姓并且(年龄小于40或邮箱不为空)
name like '王%' and (age<40 or email is not null)
6、名字为王姓或者(年龄小于40并且年龄大于20并且邮箱不为空)
name like '王%' or (age<40 and age>20 and email is not null)
7、(年龄小于40或邮箱不为空)并且名字为王姓
(age<40 or email is not null) and name like '王%'
8、年龄为30、31、34、35
age in (30、31、34、35)
9、只返回满足条件的其中一条语句即可
limit 1
二、select中字段不全部出现的查询
10、名字中包含雨并且年龄小于40(需求1加强版)
第一种情况:select id,name
from user
where name like '%雨%' and age<40
第二种情况:select id,name,age,email
from user
where name like '%雨%' and age<40
三、统计查询:
11、按照直属上级分组,查询每组的平均年龄、最大年龄、最小年龄。
并且只取年龄总和小于500的组。
select avg(age) avg_age,min(age) min_age,max(age) max_age
from user
group by manager_id
having sum(age) <500
查看全部
举报