Mybatis-Plus

SpringBoot结合MyBatis Plus 自动生成代码

偶尔善良 提交于 2021-01-17 08:39:04
SpringBoot结合MyBatis Plus 自动生成代码 本来这一章要介绍Redis+AOP优化权限,可是发现还是需要先介绍一些MyBatis Plus自动生成代码 MyBatis Plus简介 MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 MyBatis Plus特性 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题 支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作 支持自定义全局通用操作:支持全局通用方法注入( Write once,

PdMan使用指南

生来就可爱ヽ(ⅴ<●) 提交于 2021-01-13 19:45:29
官网: http://www.pdman.cn/#/ 下载地址: https://gitee.com/robergroup/pdman/attach_files 建议下载 版本 2.1.6 ,因为2.2.0没有数据库的连接功能,不能同步数据模型到数据库中 使用说明: https://blog.csdn.net/weixin_29994587/article/details/112294324 1、下载版本需要有数据连接,所以版本选择 v2.1.6 2、数据库创建区域,比较简单,一看即会 参考地址: https://blog.csdn.net/weixin_29994587/article/details/112294324 3、数据域区,这里可以自定义数据字段类型,可满足字段长度的自定义,如 int(4),varchar(4)等 4、数据库关系图,可以明确查看各表之间的关联关系 5、数据库的文档导出,可导出关系图和表结构 6、版本控制,可支持全量和增量的数据库变化的DDL语句生成。 7、查看表详情,可查看表结构的创建语句和实体类的java代码(不一定适用,如果整合mybatis plus,会使用Mybatis Plus的代码自动生成工具类生成java代码) 来源: oschina 链接: https://my.oschina.net/u/4914911/blog/4897665

Spring Boot资料

北慕城南 提交于 2021-01-08 18:32:47
Spring 框架和 Spring Boot 的历史:https://mp.weixin.qq.com/s/iqve1_9kjYCGdXzV1nAQqA 使用 Spring Cloud Sleuth、Elastic Stack 和 Zipkin 做微服务监控:https://mp.weixin.qq.com/s/1iqrFD3wvYWdrdqQ7Y1lCA 基于 Spring Boot 和 Spring Cloud 实现微服务架构:https://mp.weixin.qq.com/s/QrnI9KjWYDY9C6t85dcmJg SpringBoot 应用部署于外置 Tomcat 容器:https://mp.weixin.qq.com/s/y2Dxe-FtOVQWuQKjOHMxwg Spring 整合 Quartz 分布式调度::https://mp.weixin.qq.com/s/2NOMAjHBfKRp9yY2zUSqtw Session 管理之超时设置和强制下线:https://mp.weixin.qq.com/s/xqTGYKW0LcCo5NFlYw2daA RabbitMQ 实战之 Spring Boot 整合 RabbitMQ:https://mp.weixin.qq.com/s/oG-MaHa4BoKjIt_hg9F1gg Mybatis-plus 思维导图,让

MyBatis如何做数据清洗

杀马特。学长 韩版系。学妹 提交于 2021-01-07 19:33:30
前言 系统升级后,原来的数据库结构及业务逻辑发生了变化,升级后的系统需要兼容历史数据,此时就需要对历史数据进行清洗。历史数据的清洗方式可以分为两种: 使用SQL脚本开发清洗逻辑 使用Java开发清洗逻辑,通过接口执行 通常,产品化的应用系统在做升级处理时,都是选择SQL脚本的方式进行清洗数据的。 企业内部,对于线上运行的项目,使用SQL脚本对数据进行变更都需要经过工单系统,流程相对复杂。此时将清洗逻辑直接使用编码的方式在系统中实现是相对比较简单的。 使用MyBatis 在使用MyBatis做数据清洗时,遇到了一个问题,那就是清洗后的数据无法指定主键即id的值,新写入的数据主键值被数据自增ID替换掉了。 /** * 自增主键 */ @TableId (value = "id" , type = IdType.AUTO) private Long id; 问题就出现在 @TableId 注解上。 @TableId是MyBatis-Plus提供的注解,@TableId注解代码如下: @Documented @Retention (RetentionPolicy.RUNTIME) @Target (ElementType.FIELD) public @interface TableId { /** * <p> * 字段值(驼峰命名方式,该值可无) * </p> */ String

springboot集成swagger2多模块中文配置详细步骤,解决集成mybatis或mybatis-plus无法正常使用问题

喜欢而已 提交于 2021-01-05 00:25:40
springboot集成swagger2多模块中文配置详细步骤,解决集成mybatis或mybatis-plus无法正常使用问题 参考文章: (1)springboot集成swagger2多模块中文配置详细步骤,解决集成mybatis或mybatis-plus无法正常使用问题 (2)https://www.cnblogs.com/-llf/p/10985448.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4432649/blog/4877572

SpringBoot自定义场景启动器(starter)

不问归期 提交于 2021-01-02 16:55:29
点击上方 蓝色字体 ,选择“标星公众号” 优质文章,第一时间送达 作者 | 秋风飒飒吹 来源 | urlify.cn/IzqIB3 66套java从入门到精通实战课程分享 有时候,springboot官方提供的场景启动器(starter)并不能很好的满足我们的需求。 一些配置类仍然需要我们自行编写(例如mybatis plus的分页插件配置),在多模块项目中,这种模式代码可能多个模块都需要编写一次,这时候,我们可以考虑自行编写场景启动器,然后在common模块引入即可。 1、命名规约 spring官方: spring-boot-starter-xxx 自定义: xxx-spring--boot-starter 2、自定义starter步骤 2.1创建一个普通的空工程 2.2创建一个普通maven项目 这里我将工程命名为gulimall-spring-boot-starter 2.3创建自动配置模块 选择springboot工程构建工具: 模块命名为gulimall-spring-boot-autoconfigure。 这里可以啥都不选,后面可以自行修改 2.4修改pom文件 starter引入autoconfigure模块 autoconfigure模块,先删除build,然后删除spring-boot-test,再删除test包,因为用不到,我这里引入mybatis

Springboot+shiro+mybatis-plus+vue前后端分离项目设计架构

前提是你 提交于 2021-01-02 11:06:14
目录 前言 一、后端项目 1、系统架构设计 2、技术细节 1)、构建模块分层 2)、模块之间引用 3)、mybatis-plus配置和引入 4)、mybatis-plus分页插件 5)、代码生成器,代码里有注释 6)、shiro框架引入 二、前端项目 1、系统架构设计 2、技术细节 前言 根据公司要求,搭建个前后端分离的权限系统,根据目前技术技术水平,采用以下技术栈开发,以此写一份博客记录下构架的系统框架,同时希望能帮助因搭建系统架构不怎么会的小伙伴们,废话不多说,直接列出技术栈: 前端项目: Vue2.x+element全家桶+webpack+node+vue-admin ,开发工具:HBuilderx 后端项目 :Springboot2.x+shiro+mybatis-plus+mysql, 开发工具:IDEA 一、后端项目 1、系统架构设计 采用主流分层多模块开发,如下图所示 2、技术细节 1)、构建模块分层 App(app请求接口全部在这里),Web(web请求接口全部在这里)、Dao(数据层)、Model(抽象数据层)、Service(业务层)、Common(所有通用工具在这里,任何模块接口访问) 2)、模块之间引用 如下图所示: 3)、mybatis-plus配置和引入 Model模块引入maven,然后再web模块resources资源文件下的application

MyBatis-Plus条件构造器

流过昼夜 提交于 2021-01-01 12:33:13
条件构造器 wapper介绍 : Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法 AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件 AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。 LambdaQueryWrapper :用于Lambda语法使用的查询Wrapper LambdaUpdateWrapper : Lambda 更新封装Wrapper QueryWrapper : Entity 对象封装操作类,不是用lambda语法 UpdateWrapper : Update 条件封装,用于Entity对象更新操作 mybatis-plus条件构造器简介 mybatis-plus提供了AbstractWrapper抽象类,提供了很多sql语法支持的方法,比如模糊查询,比较,区间,分组查询,排序,判断空等等,方便我们用面向对象的方式去实现sql语句。 AbstractWrapper 说明: QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类用于生成 sql 的 where 条件, entity 属性也用于生成 sql 的 where 条件

Jeecg Boot 2.2.1 版本发布,基于SpringBoot的低代码平台

北城余情 提交于 2020-12-19 16:37:39
项目介绍 JeecgBoot是一款基于代码生成器的低代码开发平台,开源界“小普元”超越传统商业企业开发平台!采用前后端分离架构:SpringBoot 2.x,Ant Design&Vue,Mybatis-Plus,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码! 引领新的低代码开发模式(OnlineCoding模式-> 代码生成器模式-> 手工MERGE智能开发),帮助Java项目解决70%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省成本,同时又不失灵活性。JeecgBoot还独创在线开发模式(低代码):在线表单、在线报表、在线图表、在线工作流、插件能力等等。。 当前版本 :v_2.2.1 | 2020-07-13 源码下载 https://github.com/zhangdaiscott/jeecg-boot https://gitee.com/jeecg/jeecg-boot 技术文档 在线演示:http://boot.jeecg.com 视频教程: 入门视频 技术文档:http://doc.jeecg.com 常见问题: http://t.cn/A6voGt6P QQ群:②769925425、①284271917(满) 升级日志 此版本为稳定版本,主要修复2.2版本的已发现Bug和优化功能,同时提交了多租户支持代码。

MybatisPlus QueryWrapper对象封装操作类AbstractWrapper查询条件封装

﹥>﹥吖頭↗ 提交于 2020-12-12 12:46:38
MybatisPlus QueryWrapper对象封装操作类 先把代码拿出来遛一遛 public class QueryWrapper < T > extends AbstractWrapper < T , String , QueryWrapper < T > > { /** * 查询字段 */ private String sqlSelect ; public QueryWrapper ( ) { this ( null ) ; } public QueryWrapper ( T entity ) { this . entity = entity ; this . initEntityClass ( ) ; this . initNeed ( ) ; } public QueryWrapper ( T entity , String . . . columns ) { this . entity = entity ; this . select ( columns ) ; this . initEntityClass ( ) ; this . initNeed ( ) ; } /** * 非对外公开的构造方法,只用于生产嵌套 sql * * @param entityClass 本不应该需要的 */ private QueryWrapper ( T entity ,