MybatisPlus学习〖二〗
通过条件构造器我们可以构造出我们想要的查询语句
我们来看一下之前代码的具体实现
1. 插入信息
/**
* 插入信息
*/
@Test
public void insert(){
UserDO userDO=new UserDO();
userDO.setId(5);
userDO.setUserName("张倩111");
userDO.setUserPhone("1312312312312");
userDO.setUserAge(18);
userDO.setUserEmail("[email protected]");
int row=userDOMapper.insert(userDO);
System.out.println("影响了"+row+"行");
}
这里我直接新建了userDO实体类,set了一些内容,然后直接调用我们自己写的userDOMapper里的insert方法,返回一个影响的行数
2. 用map查询信息
@Test
public void selectMap(){
Map<String,Object> map=new HashMap<>();
map.put("user_name","张倩");
List<UserDO> userDOList=userDOMapper.selectByMap(map);
}
这里我们建了个map用来映射查询内容,第一个参数一定是数据库的字段,第二个是内容,查询结果如下,这里我们查询了名叫张倩的人的所有信息,出现了两条
3. 条件构造器,查询user表中,user_name有张且年龄在20-30之间,且email不为空的用户
//条件构造器,查询user表中,user_name有张且年龄在20-30之间,且email不为空的用户
@Test
public void selectByWrapper(){
QueryWrapper<UserDO> queryWrapper=new QueryWrapper<>();
queryWrapper.like("user_name","张").between("user_age",20,30).isNotNull("user_email");
List<UserDO> userDOList=userDOMapper.selectList(queryWrapper);
}
这里我们用了条件构造器QueryWrapper,这里直接拼接出查询语句like(“user_name”,“张”).between(“user_age”,20,30).isNotNull(“user_email”);
- 这里面的字段一定是数据库字段,like对应了sql里面的like,第一个参数是对应的数据库字段,第二个参数是like后跟的参数,查询名字中有"张"的.
- between这个方法也是对应的sql里面的between语句,第一个参数为数据库字段,第二个参数<字段对应查询信息<第三个参数
- isNotNull也是对应语句,里面的参数不为空