一、代码生成器
代码生成器--》jeecgOneGUI
配置文件:resource/jeecg/jeecg_config.properties,修改目标生成的路径和包名
数据库连接:resource/jeecg/jeecg_database.properties,改数据库连接
生成内容:
(1)、后端:生成数据库表对应的实体,生成实体的增删改查相关接口(主要利用mybatis-plus自带封装的方法)
(2)、前端:生成的vue文件,功能类似用户管理,有数据列表展示和记录的增删改查

一、mybatis-plus

1、类的封装
服务类继承了IService,
接口类继承了ServiceImpl,implements了服务类

2、mybatis-plus的方法(常用):
新增:save(),
更新:updateById(),
查询(+查询器):getById()、list();getOne();
删除:removeById()
分页:page(page, queryWrapper);

3、实体类,可以set或者get属性。(代码生成器生成的实体类,会对表中字段名称进行修改,会将下划线改成驼峰命名)
疑问:接口获取参数对象:OperatStaff operatStaff或者@RequestBody OperatStaff operatStaff区别?

4、接口请求方式:
查询:get
新增:post
编辑:put
删除:delete

5、查询器:
示例1:普通查询器-查询

public Result<?> queryPageQuery(OperatStaff operatStaff,HttpServletRequest req)
{
QueryWrapper<OperatStaff> queryWrapper = QueryGenerator.initQueryWrapper(operatStaff, req.getParameterMap());(参数1:实体和参数值,参数2:所有参数和值)
List<OperatStaff> list = operatStaffService.list(queryWrapper);
return Result.ok(list);
}

示例2:普通查询器-分页

public Result<?> queryPageList(OperatStaff operatStaff,Integer pageNo,Integer pageSize,HttpServletRequest req)
{
QueryWrapper<OperatStaff> queryWrapper = QueryGenerator.initQueryWrapper(operatStaff, req.getParameterMap());
Page<OperatStaff> page = new Page<OperatStaff>(pageNo, pageSize);(参数1:第几页,参数2:每页数量)
IPage<OperatStaff> pageList = operatStaffService.page(page, queryWrapper);
return Result.ok(pageList);
}

示例3:普通查询器-复杂查询+日期过滤+排序

public Result<?> queryPageQuery(String starttime,String endtime,String pscode,String outputcode,String monitorid)
{
QueryWrapper<OperatCollect> queryWrapper = new QueryWrapper<OperatCollect>();
queryWrapper.ge("start_time", DateUtil.strToDate(starttime,"yyyy-MM-dd HH:mm:ss"));
queryWrapper.le("start_time",DateUtil.strToDate(endtime,"yyyy-MM-dd HH:mm:ss"));
queryWrapper.eq(oConvertUtils.isNotEmpty(pscode),"pscode",pscode);
queryWrapper.eq(oConvertUtils.isNotEmpty(outputcode),"outputcode",outputcode);
queryWrapper.eq(oConvertUtils.isNotEmpty(monitorid),"monitorid",monitorid);
queryWrapper.orderByAsc("start_time");//排序
//queryWrapper.apply(oConvertUtils.isNotEmpty(startdate)," start_time>='"+startdate+"'");
//queryWrapper.apply(oConvertUtils.isNotEmpty(endtime)," start_time<='{0}'",endtime);
List<OperatCollect> pageList = operatCollectService.list(queryWrapper);
return Result.ok(pageList);
}

示例4:兰博查询器

LambdaQueryWrapper<SysRolePermission> query = new LambdaQueryWrapper<SysRolePermission>()
eq(SysRolePermission::getPermissionId, permissionId)
.eq(SysRolePermission::getRoleId,roleId);
SysRolePermission sysRolePermission = sysRolePermissionService.getOne(query);
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>();
query.eq(SysPermission::getDelFlag, CommonConstant.DEL_FLAG_0);
query.orderByAsc(SysPermission::getSortNo);
List<SysPermission> list = sysPermissionService.list(query);

LambdaQueryWrapper和QueryWrapper区别:
QueryWrapper 的列名匹配使用的是 “数据库中的字段名(一般是下划线规则)”
LambdaQueryWrapper 的列名匹配使用的是“Lambda的语法,偏向于对象”,兼容性更好

炫技示例:

OperatCompany oc=this.operatCompanyService.getOne(new LambdaQueryWrapper<OperatCompany>().eq(OperatCompany::getName, username));
if (oc == null) return Result.error("用户不存在!");
String passwordEncode = PasswordUtil.encrypt(oc.getId(), password, oc.getSalt());
operatCompanyService.update(new OperatCompany().setPassword(passwordEncode),new QueryWrapper<OperatCompany>().eq(oConvertUtils.isNotEmpty(username),"name",username));

在jeecg-boot中使用代码生成器&mybatis-plus的更多相关文章

  1. Spring Boot中使用MyBatis注解配置详解(1)

    之前在Spring Boot中整合MyBatis时,采用了注解的配置方式,相信很多人还是比较喜欢这种优雅的方式的,也收到不少读者朋友的反馈和问题,主要集中于针对各种场景下注解如何使用,下面就对几种常见 ...

  2. Spring Boot 中使用 MyBatis 整合 Druid 多数据源

    2017 年 10 月 20 日   Spring Boot 中使用 MyBatis 整合 Druid 多数据源 本文将讲述 spring boot + mybatis + druid 多数据源配置方 ...

  3. 【spring boot】【mybatis】spring boot中mybatis打印sql语句

    spring boot中mybatis打印sql语句,怎么打印出来?[参考:https://www.cnblogs.com/sxdcgaq8080/p/9100178.html] 在applicati ...

  4. spring boot中连接数据库报错500(mybatis)

    spring boot中连接数据库报错500(mybatis) pom.xml中的依赖 <!-- 集成mybatis--> <dependency> <groupId&g ...

  5. spring boot中利用mybatis-generator插件生成代码

    使用Idea在spring boot中集成mybatis-generator,自动生成mapper.xml  model  dao 文件 一.配置 pom.xml 在pom.xml的<plugi ...

  6. Spring Boot 中使用 @Transactional 注解配置事务管理

    事务管理是应用系统开发中必不可少的一部分.Spring 为事务管理提供了丰富的功能支持.Spring 事务管理分为编程式和声明式的两种方式.编程式事务指的是通过编码方式实现事务:声明式事务基于 AOP ...

  7. Spring Boot 数据访问集成 MyBatis 与事物配置

    对于软件系统而言,持久化数据到数据库是至关重要的一部分.在 Java 领域,有很多的实现了数据持久化层的工具和框架(ORM).ORM 框架的本质是简化编程中操作数据库的繁琐性,比如可以根据对象生成 S ...

  8. spring boot 学习(五)SpringBoot+MyBatis(XML)+Druid

    SpringBoot+MyBatis(xml)+Druid 前言 springboot集成了springJDBC与JPA,但是没有集成mybatis,所以想要使用mybatis就要自己去集成. 主要是 ...

  9. Spring Boot 中使用 jpa

    本文原文版权归 CSDN Hgihness 所有,此处为转载+技术收藏,如有再转请自觉于篇头处标明原文作者及出处,这是大家对作者劳动成果的自觉尊重!! 作者:Hgihness 原文:http://bl ...

  10. Spring Boot中使用缓存

    Spring Boot中使用缓存 随着时间的积累,应用的使用用户不断增加,数据规模也越来越大,往往数据库查询操作会成为影响用户使用体验的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之一. 原始的使 ...

随机推荐

  1. #单调队列#JZOJ 1753 锻炼身体

    题目 一个\(n*m\)的矩阵,有些格子不能经过,有\(k\)个时段, 要么停留某个格子,要么沿时段规定的方向移动,问最多能够移动多少次 \(n,m,k\leq 200\) 分析 题目已经提示了\(O ...

  2. OpenHarmony之NAPI框架介绍

      张志成 诚迈科技高级技术专家 NAPI是什么 NAPI的概念源自Nodejs,为了实现javascript脚本与C++库之间的相互调用,Nodejs对V8引擎的api做了一层封装,称为NAPI.可 ...

  3. C++ While 和 For 循环:流程控制全解析

    C++ Switch 语句 使用 switch 语句选择要执行的多个代码块之一. 语法 switch(expression) { case x: // 代码块 break; case y: // 代码 ...

  4. Regex中Replace方法的简单实用

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. HDC2022 开发者亮点抢先看,线上线下精彩活动等你探索!

    原文:https://mp.weixin.qq.com/s/A2sfpPKBvF6zwinbUsgwiw,点击链接查看更多技术内容.

  6. HDD杭州站·HarmonyOS技术专家分享HUAWEI DevEco Studio特色功能

    原文:https://mp.weixin.qq.com/s/87diJ1RePffgaFyd1VLijQ,点击链接查看更多技术内容. 7月15日,HUAWEI Developer Day(简称HDD) ...

  7. IP路由的工作原理

    一.路由 路由在网络中起到什么作用? • 路由器负责将数据报文在IP网段之间进行转发 • 路由是指导路由器如何进行数据转发的路径信息 IP之间连通的前提是什么? • 沿途的每台路由器上都有到达目的网段 ...

  8. CentOS 防火墙配置实战精要

    防火墙是服务器最重要的安全屏障,正确的操作对应用也是非常非常关键,本文参考了一些实战经验并经过实验验证,集众家之长做了简单的归纳整理,希望能帮助你更好地操作防火墙. 设置CentOS防火墙开放端口 在 ...

  9. mmdeploy源码安装 (转换faster rcnn r50/yolox为tensorrt,并用mmdeploy sdk推理)

    mmdeploy源码安装 (转换faster rcnn r50/yolox为tensorrt,并进行推理) 这个系列是一个随笔,是我走过的一些路,有些地方可能不太完善.如果有那个地方没看懂,评论区问就 ...

  10. StarRocks 集群安装

    当前按照官网上的提供的安装包方式安装,版本是 3.2.2,部署模式为存算一体,安装的操作系统是 Ubuntu 22.04,JDK 版本为 OpenJDK 11,这里选择 3 个节点进行安装,节点的 h ...