「案例DEMO」直接用maven插件生成springboot2.5.4+mybatis-plus3.5.3.2+hikari+swagger2 2.9.2项目并运行

mybatis-code-maven-plugin-demo

项目演示如何使用mybatis-plus-code-maven-plugin插件生成项目

demo: https://gitee.com/javalaoniu/mybatis-code-maven-plugin-demo
插件: https://gitee.com/javalaoniu/mybatis-plus-code-maven-plugin

生成的项目介绍

项目特点:

  • 单表增删改查功能,并实现批量插入更新删除功能;
  • hikari为springboot推荐的数据库连接池,据说性能还可以;
  • json格式化主要使用jackson框架,并处理时间返回格式问题,该框架也是springboot推荐,个人不喜欢fastjson、gson;
  • 多环境配置;
  • slf4j1.7.26+logback1.2.3,并添加xxx-over-slf4j包,把其他日志转化到slf4j;
  • 统一异常捕获;
  • 统一返回对象;
  • 日志打印根据spring.profiles.active: xxx配置自动使用相应的日志打印,并且配合在各环境文件中配置logging开关或者打印级别,更好的控制日志打印;
  • swagger2 api文档,可以直接根据配置是否生效,并且有多一套美化皮肤;

项目说明

  • AppApplication为项目启动入口类

  • config文件夹存放项目配置类,主要包含MybatisPlusConfig、SwaggerConfig配置类,旧项目可以不用拷贝该文件夹及文件;

  • controller文件夹存放项目控制器类,对应表的增删改查、批量操作等接口;

  • service文件夹存放业务接口类;

  • service.impl文件夹存放service的实现类,类中部分字段如果表中没有需要自己手动修改;

  • mapper文件夹存放dao数据操作类,主要是myabtis的接口类文件,实现由mybatis生成;

  • entity文件夹存放实体类,po对应数据库表字段、vo对应前端(model)、dto为数据传输对象(DTO类,多用于处理po和vo之间的关系,大致有时候也可以和vo相同。PO接收数据库的数据,然后转成DTO,DTO再转成VO(有时候为了偷懒,直接把DTO当成VO就不再转一层直接返回给前端)。在我的项目中没有使用dto对象,直接使用了vo对象和po进行转换,很多时候并不会区分那么多,不需要在意这个);

  • utils文件夹存放工具类

  • resources中的mapper存放mybatis对应的xml文件

  • resources中的application.yml项目配置文件(最先加载)

  • resources中的application-mp.yml是mybatis配置文件

  • resources中的logback-spring.xml是日志配置文件

复制说明
正常情况下,当作新项目可以整个代码当作新项目用;
如果已有项目的情况,必须复制的有resources中的mapper、mapper、entity三个文件夹中的文件,这是mybatis最基本的,直接拷贝这些文件到已有项目即可直接使用,避免手写错误问题,当然得是已有项目本身是整合好mybatis的,
其他的工具类、controller、service等自己看着办就好了。

具体步骤

看了上面的介绍之后相信你大概了解了生成的项目,你是不是也想可以一键生成自己的项目呢?这里就演示如何生成这个项目和运行项目,然后访问项目api。这样可以节省每次创建项目、配置项目、整合框架的时间。

1. 创建项目

可以用idea创建项目的方式,也可以手动创建mybatis-code-maven-plugin-demo文件夹,在文件夹中新建pom.xml文件,文件所有内容如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>mybatis-code-maven-plugin-demo</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>mybatis-code-maven-plugin-demo</name>
    
</project>
用idea打开项目,项目结构如下,pom.xml文件外的其他文件是项目的常规文件,也可以忽略,

在这里插入图片描述

2. 配置插件

打开怕pom.xml文件,添加mybatis-plus-code-maven-plugin插件,并修改相应的配置(项目保存路径、模块名称、mysql库配置、包名等)

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>mybatis-code-maven-plugin-demo</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>mybatis-code-maven-plugin-demo</name>

    <build>
        <finalName>mybatis-code-maven-plugin-demo</finalName>
        <plugins>
            <plugin>
                <groupId>io.gitee.javalaoniu</groupId>
                <artifactId>mybatis-plus-code-maven-plugin</artifactId>
                <version>0.0.1-SNAPSHOT</version>
                <configuration>
                    <!--生成代码保存路径,默认保存在项目目录的target目录下-->
                    <savePath>D:\Workspace\ideaIC-2023.1.win.Project\mybatis-code-maven-plugin-demo</savePath>
                    <!--项目(模块)名,也是包名的一部分(com.example.demotest)-->
                    <moduleName>mydemo1</moduleName>
                    <!--每次生成的文件覆盖已有文件,谨慎使用-->
                    <fileOverride>false</fileOverride>

                    <dbSetting>
                        <url>jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=utf8&amp;serverTimezone=GMT%2B8&amp;tinyInt1isBit=false</url>
                        <username>root</username>
                        <pwd>root123456</pwd>
                        <!--表面的前缀,不填可以留空-->
                        <tablePrefix>t_</tablePrefix>
                        <tables>t_sys_role,t_sys_user</tables>
                    </dbSetting>

                    <!--
                    controller、service、mapper、entity包名(文件夹)设置,这些类最终包名(groupPackage+moduleName+自己),下面设置和默认设置一样
                    xml为mybatis的xml文件存放文件夹(默认放在resources下)
                    -->
                    <packageSetting>
                        <!--生成代码Java类包名的前部分-->
                        <parent>com.example</parent>
                        <entity>entity</entity>
                        <mapper>mapper</mapper>
                        <service>service</service>
                        <serviceImpl>service.impl</serviceImpl>
                        <controller>controller</controller>
                        <xml>mapper</xml>
                    </packageSetting>

                    <!--
                    策略配置,一般不用配置,除非很特殊,必须要配置
                    entitySuperClass: 自己的实体类的父类全路径,实体类po会直接继承改类,一般不设置;
                    controllerSuperClass: 自己的controller类的父类全路径,controller类会直接继承该类,一般不设置
                    -->
                    <!--
                    <strategySetting>
                        <entitySuperClass>aa.MyEntityParent</entitySuperClass>
                        <controllerSuperClass>aa.MyControllerParent</controllerSuperClass>
                    </strategySetting>
                    -->
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

3. 生成项目

添加mybatis-plus-code-maven-plugin插件后,刷新一下工程,确保项目已经把mybatis-plus-code-maven-plugin插件引入到项目中,打开idea的maven工具栏
在这里插入图片描述

双击插件,我这里配置的项目生成路径就是当前项目下,所以双击命令后生成的代码如下:
在这里插入图片描述

4. 添加模块

在这里插入图片描述

在这里插入图片描述

5. 运行生成的项目

在这里插入图片描述

6. 访问api

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
项目描述 在上家公司自己集成的一套系统,用了两个多月的时间完成的:Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级开发系统 Springboot作为容器,使用mybatis作为持久层框架 使用官方推荐的thymeleaf做为模板引擎,shiro作为安全框架,主流技术 几乎零XML,极简配置 两套UI实现(bootstrap+layer ui),可以自由切换 报表后端采用技术: SpringBoot整合SSM(Spring+Mybatis-plus+ SpringMvc),spring security 全注解式的权限管理和JWT方式禁用Session,采用redis存储token及权限信息 报表前端采用Bootstrap框架,结合Jquery Ajax,整合前端Layer.js(提供弹窗)+Bootstrap-table(数据列表展示)+ Bootstrap-Export(各种报表导出SQL,Excel,pdf等)框架,整合Echars,各类图表的展示(折线图,饼图,直方图等),使用了layui的弹出层、菜单、文件上传、富文本编辑、日历、选项卡、数据表格等 Oracle关系型数据库以及非关系型数据库(Redis),Oracle 性能调优(PL/SQL语言,SQL查询优化,存储过程等),用Redis做中间缓存,缓存数据 实现异步处理,定时任务,整合Quartz Job以及Spring Task 邮件管理功能, 整合spring-boot-starter-mail发送邮件等, 数据源:druid 用户管理,菜单管理,角色管理,代码生成 运行环境 jdk8+oracle+redis+IntelliJ IDEA+maven 项目技术(必填) Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis 数据库文件 压缩包内 jar包文件 maven搭建 Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统 http://localhost:/8080/login admin admin Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统
项目描述 在上家公司自己集成的一套系统,用了两个多月的时间完成的:Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级开发系统 Springboot作为容器,使用mybatis作为持久层框架 使用官方推荐的thymeleaf做为模板引擎,shiro作为安全框架,主流技术 几乎零XML,极简配置 两套UI实现(bootstrap+layer ui),可以自由切换 报表后端采用技术: SpringBoot整合SSM(Spring+Mybatis-plus+ SpringMvc),spring security 全注解式的权限管理和JWT方式禁用Session,采用redis存储token及权限信息 报表前端采用B ootstrap框架,结合Jquery Ajax,整合前端Layer.js(提供弹窗)+Bootstrap-table(数据列表展示)+ Bootstrap-Export(各种报表导出SQL,Excel,pdf等)框架,整合Echars,各类图表的展示(折线图,饼图,直方图等),使用了layui的弹出层、菜单、文件上传、富文本编辑、日历、选项卡、数据表格等 Oracle关系型数据库以及非关系型数据库(Redis),Oracle 性能调优(PL/SQL语言,SQL查询优化,存储过程等),用Redis做中间缓存,缓存数据 实现异步处理,定时任务,整合Quartz Job以及Spring Task 邮件管理功能, 整合spring-boot-starter-mail发送邮件等, 数据源:druid 用户管理,菜单管理,角色管理,代码生成 运行环境 jdk8+oracle+redis+IntelliJ IDEA+maven 项目技术(必填) Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis 数据库文件 压缩包内 jar包文件 maven搭建 Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统 http://localhost:/8080/login admin admin Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员阿宁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值