首页 > 其他分享 >BaseMapper 日常操作

BaseMapper 日常操作

时间:2023-04-13 22:00:45浏览次数:33  
标签:return BaseMapper List chaoSpu void 日常 操作 eq public

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()));
}

标签:return,BaseMapper,List,chaoSpu,void,日常,操作,eq,public
From: https://blog.51cto.com/u_15993308/6188433

相关文章

  • docker 容器操作、应用部署、mysql,redis,nginx、迁移与备份、Dockerfile
    容器操作#启动容器dockerstart容器id#停止容器dockerstop容器id#文件拷贝先创建文件mkdir:文件夹vivimtouch:文件#容器的文件copy到宿主机上(不是在容器内部操作)dockercp容器名称:容器目录需要拷贝的文件或目录dockercp......
  • OpenCV图像模糊操作(11)
    模糊原理Smooth/Blur是图像处理中最简单和常用的操作之一使用操作的原因之一就是为了给图像预处理时候减低噪声图像噪声是指存在于图像数据中的不必要的或多余的干扰信息Smooth/Blur操作原理是数学的卷积运算,根据不同卷积运算公式,划分了多种图像滤波方式图像滤波:指的是在尽量保留......
  • Django笔记二十三之case、when操作条件表达式搜索、更新等操作
    本文首发于公众号:Hunter后端原文链接:Django笔记二十三之条件表达式搜索、更新等操作这一篇笔记将介绍条件表达式,就是如何在model的使用中根据不同的条件筛选数据返回。这个操作类似于数据库中ifelifelse的逻辑。以下是本篇笔记的目录:model和数据准备When和Case......
  • Linux操作系统内存管理RAID磁盘阵列与配置
    1、RAID磁盘阵列简称:独立冗余磁盘阵列把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘)。从而提供比单个硬盘更高的存储性能和提供数据备份技术。1.1RAID级别组成磁盘阵列的不同方式称为RAID级别(RAIDLevels)常用的RAID级别:RAID0、RAID1、RAID5、RAID6、RAID1......
  • Linux操作系统ARM体系结构处理器机制原理与实现
    ARM的概念ARM(AdvancedRISCMachine),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM公司并不生产芯片也不销售芯片,它只出售芯片技术授权。其合作公司针对不同需求搭配各类硬件部件,比如UART、SDI、I2C等,从而设计出不同的SoC......
  • 串的表示及基本操作
    【问题描述】实现串的顺序表示和基本操作。【输入形式】第一行输入一个字符串;第二行输入一个字符串;第三行输入两个整数,分别表示在第一个字符串中获取子串的起始位置和长度;【输出形式】输出两个字符串比较的结果,若相等输出=,否则输出<>输出子串(若子串获取不成功,输出error)输出两个字符......
  • Linux操作系统汇编语言基础知识(图文代码)
    1、什么是汇编语言,它在计算机语言中的地位?汇编语言是程序设计语言的基础语言,是唯一可以直接与计算机硬件打交道的语言2、汇编语言与源程序、汇编程序、汇编的关系?3、汇编语言的特点\1)汇编语言与机器指令一一对应,可充分理解计算机的操作过程汇编语言指令是机器指令的符号表......
  • Linux操作系统ARM指令集与汇编语言程序设计
    一、实验目的1.了解并掌握ARM汇编指令集2.应用ARM指令集编写一个程序操控开发板上的LED灯二、实验要求应用ARM汇编指令集编写程序,实现正常状态下开发板上的LED灯不亮,按下一个按键之后开发板上的LED灯进入流水灯模式。三、实验原理四个LED灯的电路如下图所示:四个按键电路图......
  • openGauss 之物理备份与恢复实践操作(gs_probackup)
    openGauss之物理备份与恢复实践操作(gs_probackup)本文出处:https://www.modb.pro/db/426207一、gs_probackup简单介绍gs_probackup是一个用于管理openGauss数据库备份和恢复的工具,支持全量备份、增量备份、定期备份和远程备份,还可以设置备份的留存策略。二、gs_probackup使用......
  • Linux操作系统汇编指令入门级整理知识点
    前言我们大都是被高级语言惯坏了的一代,源源不断的新特性正在逐步添加到各类高级语言之中,汇编作为最接近机器指令的低级语言,已经很少被直接拿来写程序了,不过我还真的遇到了一个,那是之前的一个同事,因为在写代码时遇到了成员函数权限及可见性的问题,导致他无法正确调用想执行的函数,结......