MyBatis Plus增删改查

查询

不加任何条件全部查询

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);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值