mybatis-plus的代码生成器的应用

news2024/9/29 13:32:11

目录

      • 1.工程引入mybatis-plus3-generator代码生成器
      • 2.只需要关注mybatis-plus-config.properties然后生成代码
      • 3.分别添加依赖解决报错
      • 4.加入其它配置然后测试效果

3.4版本

1.工程引入mybatis-plus3-generator代码生成器

mybatis-plus3-generator放入项目工程中,父工程pom.xml添加<module>依赖,子工程修改父工程的定位数据,
在这里插入图片描述
在这里插入图片描述

2.只需要关注mybatis-plus-config.properties然后生成代码

代码输出基本路径 (子工程的绝对路径+/src/main/java)
在这里插入图片描述
包的路径(包取名字,如 itsource.ming)
表名
数据库连接信息

3.分别添加依赖解决报错

hrm-system-common

        <!-- mybatis-plus3的依赖-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.0</version>
        </dependency>
        <!-- swagger-ui的依赖-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

hrm-system-server-1040

		<!-- 导入数据库连接相关的依赖-->
        <!-- 数据库驱动和druid-->
        <!-- 注意坑: mybatis-plus3.x后,在自动生成的实体类中,对日期类型进行了升级,使用的是jdk1.8的LocalDate
     要支持这种数据类型,必须对连接池druid和mysql驱动进行升级,升级版本如下:
     -->
        <!-- MySql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.17</version>
        </dependency>
        <!-- druid连接池  这个starter的坐标实际上也只是导入了关联版本的druid连接池坐标,所以这里直接用导入druid坐标替代-->
        <!--<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.21</version>
        </dependency>-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.1</version>
        </dependency>

controller和query删除并调整模板参数重新生成
在这里插入图片描述
在这里插入图片描述
相对路径没错了但是由于BaseQuery是在别的工程所以依然有报红需要补充工程间依赖
在这里插入图片描述
相对路径没错了但是由于PageList是在别的工程所以依然有报红需要补充工程间依赖
图略

4.加入其它配置然后测试效果

application.yml (hrm-system-server-1040)

#配置数据库的连接
spring:
  application:
    name: hrm-system
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource # 连接池指定 springboot2.02版本默认使用HikariCP 此处要替换成Druid
    driver-class-name: com.mysql.cj.jdbc.Driver # 这个驱动必须用新版,不能用老版
    url: jdbc:mysql:///hrm-system?characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: root
    password: root
    druid: #这是关于德鲁伊连接池的核心配置
      initial-size: 5 # 初始化时建立物理连接的个数
      min-idle: 5 # 最小连接池连接数量,最小空闲数量
      max-active: 20 # 最大连接池连接数量,最大活跃连接数
      max-wait: 60000 # 配置获取连接等待超时的时间
      timeBetweenEvictionRunsMillis: 60000
      minEvictableIdleTimeMillis: 300000
      validationQuery: SELECT 1
      testWhileIdle: true
      testOnBorrow: true
      testOnReturn: false
      poolPreparedStatements: true
      maxPoolPreparedStatementPerConnectionSize: 20
      filters: stat,wall
      connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
      stat-view-servlet:
        allow: 0.0.0.0 # 允许哪些IP访问druid监控界面,多个IP以逗号分隔
        login-username: admin # 设置登录帐号
        login-password: 123456 # 设置登录密码
        reset-enable: false # 是否允许重置数据
        # url-pattern: /database/* # 默认访问根路径是:/druid/;也可以自定义设置
mybatis-plus: # mybatis的配置。下面的配置希望执行Sql语句可以打印到 控制台
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 开启mybatis-plus的sql打印

MyBatis-Plus配置类 (hrm-system-server-1040 建config包 改mapperscan包名)

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

//Spring boot方式来对mybatis-plus3进行 mapper的扫描
@Configuration
@MapperScan("itsource.cw.mapper")
public class MybatisPlusConfig {

    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求  默认false
        // paginationInterceptor.setOverflow(false);
        // 设置最大单页限制数量,默认 500 条,-1 不受限制
        // paginationInterceptor.setLimit(500);
        // 开启 count 的 join 优化,只针对部分 left join
        paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
        return paginationInterceptor;
    }
}

添加swagger-ui的配置类 (hrm-system-server-1040 建config包 注意改包名)

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        ApiInfo apiInfo = new ApiInfoBuilder()
                .title("服务接口文档范例")
                .description("springboot集成框架案例")
                .version("1.0")
                .build();

        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo)
                .select()
                //以扫描包的方式
                .apis(RequestHandlerSelectors.basePackage("cn.itsource.cw"))
                .paths(PathSelectors.any())
                .build();
    }
}

测试效果
先启动EurekaApp,再启动SystemServeApp
localhost:1040/swagger-ui.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/438351.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JeecgBoot 3.5.1 版本发布,开源的企业级低代码平台

项目介绍 JeecgBoot是一款企业级的低代码平台&#xff01;前后端分离架构 SpringBoot2.x&#xff0c;SpringCloud&#xff0c;Ant Design&Vue3&#xff0c;Mybatis-plus&#xff0c;Shiro&#xff0c;JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领…

kafka manager服务部署

1.配置一台centos7主机或者直接在kafka服务主机上部署也可以&#xff0c;关闭firewalld和selinux服务 2.安装java环境(需要jdk11以上) 参考&#xff1a;jdk1.8环境配置_Apex Predator的博客-CSDN博客 3.从github上下载编译好的cmak压缩包(下载最新版本的3.0.0.6) 下载地址&a…

Gradio 部署工具保姆级教程来了,以图生图,画你所想

2023 年以来国内各家大厂竞相发布大模型&#xff0c;AIGC 的热度来到了前所未有的高度&#xff0c;AI 绘画在国际艺术博览会上频频夺冠&#xff0c;数字艺术的新纪元正在逐渐展开。你是否也想与顶尖技术人员一起&#xff0c;参与到 AIGC 的浪潮中呢&#xff1f; 2023 PaddlePa…

source insight4.0使用技巧总结

一、技巧1&#xff1a;查看函数调用关系 步骤 1&#xff1a;在主菜单中点击下图中的按钮 图 1 打开relation界面 步骤 2&#xff1a;在弹出的relation界面点击“设置”按钮&#xff0c; 图2 点击“设置”按钮 步骤3&#xff1a; 在“设置”界面中&#xff0c;“Levels”选择…

一文详解一致性协议

目录 一致性协议 2PC二阶段提交 二阶段提交存在的问题&#xff1a; 3PC 三阶段提交 优点 Paxos算法 流程演变 Paxos优缺点 活锁问题 ZAB协议(Fast Paxos) 一致性协议 事务需要跨多个分布式节点时&#xff0c;为了保证事务的ACID特性&#xff0c;需要选举出一个协调者…

LeetCode 1105. Filling Bookcase Shelves【记忆化搜索,动态规划】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

甘特图控件DHTMLX Gantt入门使用教程【引入】:dhtmlxGantt与ASP.NET Core(下)

DHTMLX Gantt 是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的大部分开发需求&#xff0c;具备完善的甘特图图表库&#xff0c;功能强大&#xff0c;价格便宜&#xff0c;提供丰富而灵活的JavaScript API接口&#xff0c;与各种服务器端技术&a…

从Pandas快速切换到Polars :数据的ETL和查询

对于我们日常的数据清理、预处理和分析方面的大多数任务&#xff0c;Pandas已经绰绰有余。但是当数据量变得非常大时&#xff0c;它的性能开始下降。 我们以前的两篇文章来测试Pandas 1.5.3、polar和Pandas 2.0.0之间的性能了&#xff0c;Polars 正好可以解决大数据量是处理的…

电影《忠犬八公》观后感

上周看了电影《忠犬八公》&#xff0c;整部电影是以一条狗为故事线演绎的&#xff0c;之前看电影《忠犬帕尔玛》的时候&#xff0c;同事就推荐了《忠犬八公》&#xff0c;以为说的是同一部电影&#xff0c;去维基百科查过才知道&#xff0c;中国版的冯小刚为主演的《忠犬八公》…

全景丨0基础学习VR全景制作,平台篇第五章:开场封面功能

大家好欢迎观看蛙色平台使用教程 开场封面功能&#xff0c;现已支持开场图片和开场视频两种呈现方式&#xff0c; 分别针对PC端和移动设备访问分别设置呈现图片、视频内容&#xff0c;满足市场主流需求。 开场图片 传达主旨 1、全局-开场封面-图片 2、分别对PC端和移动设备访…

手动构建自己的docker容器镜像实战

前言 之前的实战中&#xff0c;我们实战中&#xff0c;我们使用的镜像都是镜像仓库已有的镜像。 已有的镜像都是别人已经开发好上传的。今天我们一起来看看如何构建自己的镜像并上传到镜像仓库中。 &#x1f3e0;个人主页&#xff1a;我是沐风晓月 &#x1f9d1;个人简介&…

[计算机图形学]光线追踪前瞻:阴影图(前瞻预习/复习回顾)

一、前言 我们前面学习过了光栅化&#xff0c;而光栅化会有一系列问题&#xff0c;比如&#xff1a;全局的光线传输&#xff0c;阴影。我们之前讲着色的时候说了&#xff0c;我们认为着色是一个局部的操作&#xff0c;我们只考虑着色点本身&#xff0c;并不考虑其它物体的遮挡对…

3Dconnexion SpaceMouse Enterprise 企业版有线3D鼠标

3Dconnexion SpaceMouse Enterprise 企业版有线3D鼠标 企业版有线3D鼠标SpaceMouse Enterprise凭借六自由度&#xff08;6DoF&#xff09;传感器&#xff0c;以及标准和自定义快速视图的一键访问功能&#xff0c;你可以比以往更加轻松自如地查看3D模型。轻轻操纵控制帽即可流畅…

表白墙 - 进阶(MySQL版本) - 持久化存储

想要解决上面那个版本存在的问题&#xff1a;服务器重启&#xff0c;数据不丢失。 最好的办法&#xff1a;将数据存储到硬盘上。 存储的方式&#xff1a; 1、直接使用 流对象 写入文本文件 2、借助数据库 我们采取的方式&#xff1a;是 MySQL 数据库的方式 来实现 持久化存储。…

Python卷积详解

文章目录 卷积函数对比测试卷积应用 卷积函数 python提供了多种卷积方案&#xff0c;相比之下&#xff0c;定义在ndimage中的卷积函数&#xff0c;在功能上比numpy和signal中的卷积要稍微复杂一些&#xff0c;这点仅从输入参数的多少就可略窥一二 numpy.convolve(a, v, modef…

拥抱汽车行业新时代,移远通信着力打造“七大产品技术生态”

汽车市场和消费者的需求正在发生日新月异的变化。以往中国新能源汽车的推广&#xff0c;大多倚重政策补贴&#xff0c;而如今新能源汽车已经走过了这个阶段&#xff0c;开始变成消费者自愿选择。除了汽车的电动化&#xff0c;“智能化”是不少车型拨动消费者心弦的另一主要因素…

光学仿真小作品集

光学仿真小作品集 传播方向与 z 轴平行的二维平面波自由空间中的传输传播方向与 z 轴有一定夹角的二维平面波自由空间中的传输 本文将展示一些作者本人平时自制的光学仿真小作品。 传播方向与 z 轴平行的二维平面波自由空间中的传输 传播方向与 z 轴有一定夹角的二维平面波自由…

(九)【软件设计师】计算机系统-浮点数习题

文章目录 一、2009年下半年第3、4题二、2011年上半年第5题三、2012年下半年第3题四、2015年上半年第1题五、2015年下半年第3题六、2016年下半年第3题七、2018年上半年第1题八、2020年下半年第3题 知识点回顾 &#xff08;八&#xff09;【软件设计师】计算机系统—浮点数 一、…

怎么使用AS推送项目到Github上,一文解决!

废话不多说&#xff0c;直接发车了&#xff01;在android studio上推送项目到GitHub上有个基本可以解决所有推送失败问题的步骤&#xff0c;如下图&#xff1a; 路径&#xff1a;File —— Setting —— Version Control —— GitHub —— 加号&#xff0c;添加用户 上述步骤是…

河道船舶识别检测系统 python

河道船舶识别检测系统通过ppythonYOLOv5网络模型算法技术&#xff0c;河道船舶识别检测系统对画面中的船只进行7*24小时实时监测&#xff0c;若发现存在进行违规采砂或者捕鱼立即自动抓拍触发告警。与C / C等语言相比&#xff0c;Python速度较慢。也就是说&#xff0c;Python可…