0
点赞
收藏
分享

微信扫一扫

BaseMapper 日常操作

zibianqu 2023-04-13 阅读 85

Tips 还是写SQL语句为好

插入数据

@Override
public void saveBaseSpuInfo(SpuInfoEntity infoEntity) {
    this.baseMapper.insert(infoEntity);
}

保存数据

this.save(实体类);
this.save(news);

实体类接收list 批量保存

@PostMapping("/mini/addEvaluate")
public void addEvaluate(@RequestBody List<Evaluate> evaluate) {
  evaluateService.addEvaluate((evaluate));
}


@Override
public void addEvaluate(List<Evaluate> evaluate) {
    this.saveBatch(evaluate);
}

批量新增 定义一个ArrayList<>();

List<DictionType>  addList =new ArrayList<>();
for (int i = 0; i < array.length(); i++) {
  DictionType dictionType = new DictionType();
  dictionType.setDictionId(dictionId);
  dictionType.setDictiontypeName();
  dictionType.setDictiontypePrice(bigDecimal);
  addList.add(dictionType);
}
dictionTypeService.saveBatch(addList);
批量修改定义一个ArrayList<>();
dictionTypeService.updateBatchById(updates);

【多选删除】根据ids

EmployeeController层
//给出接口
@RequestMapping("/delempList")
public String deleteEmp(@RequestBody Integer[] ids){
    employeeService.deleteList(ids);
    return "success删除";
}

EmployeeService层
//定义接口impl
void deleteList(Integer[] ids);

EmployeeServiceImpl层
public void deleteList(Integer[] ids) {
    employeeDao.deleteList(ids);
}
核心数EmployeeDao
<delete id="deleteList" >
    delete from employee where id in
    <foreach collection="array" item="ids" open="(" separator=","
             close=")">
        #{ids}
    </foreach>
</delete>

【单个删除】根据id

////*** 写sql
@RequestMapping("/deleteUmsAddr")
public String deleteUmsAddr(@RequestBody Integer addressId) {
  umsAddrService.deleteUmsAddr(addressId);
  return "delete 0k";
}

impl
@Override
public void deleteUmsAddr(Integer umsAddrId) {
    umsAddrMapper.deleteUmsAddr(umsAddrId);
}
<delete id="deleteUmsAddr">
    delete from ums_addr where address_id=#{addressId}
</delete>
////*** queryWrapper 接收
@Override
public void deleteUmsAddr(Integer umsAddrId) {
    LambdaQueryWrapper<UmsAddr> queryWrapper = new LambdaQueryWrapper<>();
    if (umsAddrId>0){
        queryWrapper.eq(UmsAddr::getAddressId,umsAddrId);
    }
    this.baseMapper.delete(queryWrapper);
    //umsAddrMapper.deleteUmsAddr(umsAddrId);
}
////*** deleteById 直接删除
@Override
public void deleteUmsAddr(Integer umsAddrId) {
    this.baseMapper.deleteById(umsAddrId);
}

直接查询 mybaties puls

@Override
public List<Diction> findDictionsList(Diction diction) {
//直接查询列表
  return this.baseMapper.selectList(new QueryWrapper<Diction>().select());
}

直接传入null 表示查询所有
List<CategoryEntity> selectList = baseMapper.selectList(null);

通用查询操作 selectBatchIds 通过多个ID进行查询

/***
  * 通用查询操作 selectBatchIds 通过多个ID进行查询
  */
 @Test
 public void testCommomSelectBatchIds() {
  List<Integer> idList = new ArrayList<Integer>();
  idList.add(1);
  idList.add(2);
  idList.add(3);
  List<Employee>employeeList=employeeMapper.selectBatchIds(idList);
  System.out.println("*******************"+employeeList);
  for (Employee employee : employeeList) {
   System.out.println(employee.getName());
  }
 }
 
 
 /***
  * 通用查询操作 selectByMap  map要写列名条件 不能是实体属性名
  */
 @Test
 public void testCommomSelectByMap() {
  Map<String, Object> columnMap = new HashMap<String, Object>();
  columnMap.put("name", "气质");
  columnMap.put("gender", "0");
  List<Employee> employeeList=employeeMapper.selectByMap(columnMap);
  System.out.println("*******************"+employeeList);
  for (Employee employee : employeeList) {
   System.out.println(employee.getName());
  }
 }

selectList in用法

@GetMapping("/infoS")
public R info(@RequestParam("brandId") List<Long> brandIds) {
  List<BrandEntity> brand =  brandService.grtBrandsByIds(brandIds);
    return R.ok().put("brand", brand);
}

@Override
public List<BrandEntity> grtBrandsByIds(List<Long> brandIds) {
    return baseMapper.selectList(new QueryWrapper<BrandEntity>().in("brandId",brandId));
}

模糊查询

//EmployeeController
@RequestMapping("/getEmpListByName")
public List<EmployeeEntity>getEmpListByName(@RequestBody EmployeeEntity employeeEntity){
    List<EmployeeEntity> empList = employeeService.getEmpListByName(employeeEntity.getLastname());
    return empList;
}

//EmployeeService
List<EmployeeEntity>getEmpListByName(String lastname);

//EmployeeServiceImpl
@Override
public List<EmployeeEntity> getEmpListByName(String lastname) {
    return employeeDao.getEmpListByname(lastname);

//EmployeeDao
List<EmployeeEntity> getEmpListByname(String lastname);

//EmployeeDao.xml    
<select id="getEmpListByname" resultType="com.springboot10.entity.EmployeeEntity">
      SELECT * FROM employee where lastname like  CONCAT(CONCAT('%', #{lastname}), '%') or email like  CONCAT(CONCAT('%', #{email}), '%')
  </select>

获取一条数据 而非List<>

//controller层用实体类定义
public Orders getOrdersring(@RequestBody Orders orders){
  return ordersService.getOrdersring(orders);
}
//实现类impl层
@Override
public Orders getOrdersring(Orders orders) {
    String ordersSn = orders.getOrdersSn();
    //selectOne 只选一条数据
    Orders rderone = this.baseMapper.selectOne(new QueryWrapper<Orders>().eq("orders_sn", ordersSn));
    return rderone;
}
//返回数据
{
    "list"[{},{}]
}

排序

@Override
public List<PmsCoffeeSpu> getChaoSpuByMenuId(PmsCoffeeSpu chaoSpu) {
  if (StringUtils.isNotEmpty(chaoSpu.getSortBy())){
    QueryWrapper<PmsCoffeeSpu> pmsCoffeeSpuQueryWrapper = new QueryWrapper<>();
    if (chaoSpu.getSortBy().equals("0")) {
      pmsCoffeeSpuQueryWrapper
              .eq("menu_id", chaoSpu.getMenuId())
              .eq("spu_type", SpuConstant.PmsCoffeeSpuEnum.SPU_TYPE_CHAOPIN.getCode())
              .orderByDesc("spu_price");
    }
    if (chaoSpu.getSortBy().equals("1")) {
      pmsCoffeeSpuQueryWrapper
              .eq("menu_id", chaoSpu.getMenuId())
              .eq("spu_type", SpuConstant.PmsCoffeeSpuEnum.SPU_TYPE_CHAOPIN.getCode())
              .orderByAsc("spu_price");
    }

    if (chaoSpu.getSortBy().equals("2")) {
      pmsCoffeeSpuQueryWrapper
              .eq("menu_id", chaoSpu.getMenuId())
              .eq("spu_type", SpuConstant.PmsCoffeeSpuEnum.SPU_TYPE_CHAOPIN.getCode())
              .orderByDesc("sales");
    }
    if (chaoSpu.getSortBy().equals("3")) {
      pmsCoffeeSpuQueryWrapper
              .eq("menu_id", chaoSpu.getMenuId())
              .eq("spu_type", SpuConstant.PmsCoffeeSpuEnum.SPU_TYPE_CHAOPIN.getCode())
              .eq("spu_label", SpuConstant.SpuLableENUM.SPU_LABEL_NEW.getCode())
              .orderByDesc("create_time");
    }
    return this.baseMapper.selectList(pmsCoffeeSpuQueryWrapper);
  }
  return this.baseMapper.selectList(new QueryWrapper<PmsCoffeeSpu>().eq("menu_id", chaoSpu.getMenuId())
          .eq("spu_type", SpuConstant.PmsCoffeeSpuEnum.SPU_TYPE_CHAOPIN.getCode()));
}
举报

相关推荐

0 条评论