查询
不加任何条件全部查询
employeeMapper.selectList(null);
单条件
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("name", "小明");
System.out.println(employeeMapper.selectList(queryWrapper));
多条件
QueryWrapper queryWrapper = new QueryWrapper();
Map<String, Object> map = new HashMap<>();
map.put("name", "小明");
map.put("company", "小明有限公司");
queryWrapper.allEq(map);
lt小于,gt大于
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.gt("gender", 0);
System.out.println(employeeMapper.selectList(queryWrapper));
ne不等于
queryWrapper.ne("name", "小明");
System.out.println(employeeMapper.selectList(queryWrapper));
ge大于等于
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.ge("gender",1);
System.out.println(employeeMapper.selectList(queryWrapper));
like模糊查询
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.like("name", "小");
System.out.println(employeeMapper.selectList(queryWrapper));
likeLeft %明
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.likeLeft("name", "明");
likeright 小%
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.likeRight("name", "小");
System.out.println(employeeMapper.selectList(queryWrapper));
inSQL
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.inSql("id", "select id from employee where id < 10");
queryWrapper.inSql("gender", "select gender from employee where gender < 1");
System.out.println(employeeMapper.selectList(queryWrapper));
排序,Asc升序
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.orderByAsc("id");
employeeMapper.selectList(queryWrapper).forEach(System.out::println);
降序desc
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.orderByDesc("id");
//增加条件
queryWrapper.having("id > 8");
employeeMapper.selectList(queryWrapper).forEach(System.out::println);
增加查询条件
System.out.println(employeeMapper.selectById(7));
employeeMapper.selectBatchIds(Arrays.asList(7, 8, 9)).forEach(System.out::println);
map只能做等值判断,如果要逻辑判断需要使用Wrapper来处理
Map<String, Object> map = new HashMap<>();
map.put("id", 7);
employeeMapper.selectByMap(map).forEach(System.out::println);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.gt("id", 1);
System.out.println(employeeMapper.selectCount(queryWrapper));
将查询的结果集封装到Map中
employeeMapper.selectMaps(queryWrapper).forEach(System.out::println);
以对象的形式返回
employeeMapper.selectList(queryWrapper).forEach(System.out::println);
分页查询
Page<Employee> page = new Page<>(1, 2);
Page<Employee> result = employeeMapper.selectPage(page, null);
System.out.println(result.getSize());
System.out.println(result.getTotal());
result.getRecords().forEach(System.out::println);
@Configuration
public class MyBatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));
return interceptor;
}
}
将结果封装成map集合
Page<Map<String, Object>> page = new Page<>(1, 2);
employeeMapper.selectMapsPage(page, null).getRecords().forEach(System.out::println);
返回一个object集合,里面只有集合
employeeMapper.selectObjs(null).forEach(System.out::println);
结果集是一条记录,否则报错
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("id", 7);
System.out.println(employeeMapper.selectOne(queryWrapper));
⾃定义 SQL(多表关联查询)
package com.jq.mybatisplus.entity;
import lombok.Data;
@Data
public class ProductVO {
private Integer id;
private String name;
private Integer userId;
private Integer count;
}
package com.jq.mybatisplus.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jq.mybatisplus.entity.Employee;
import com.jq.mybatisplus.entity.ProductVO;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface EmployeeMapper extends BaseMapper<Employee> {
@Select("select p.*, e.name employeeName from product p, employee e where p.user_id = e.id and e.id = #{id}")
List<ProductVO> productList(Integer id);
}
@Test
void product() {
employeeMapper.productList(11).forEach(System.out::println);
}
添加
Employee employee = new Employee();
employee.setName("小明11");
employee.setCompany("小明有限公司");
employeeMapper.insert(employee);
System.out.println(employee);
删除
employeeMapper.deleteById(11);
employeeMapper.deleteBatchIds(Arrays.asList(7, 8));
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("gender", 1);
employeeMapper.delete(queryWrapper);
Map<String, Object> map = new HashMap<>();
map.put("id", 10);
employeeMapper.deleteByMap(map);
修改
Employee employee = employeeMapper.selectById(11);
employee.setName("小弓");
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("gender", 22);
employeeMapper.update(employee, queryWrapper);