首页 > 其他分享 >springboot整合mybatis自动生成框架

springboot整合mybatis自动生成框架

时间:2024-05-09 11:37:40浏览次数:24  
标签:xml 插件 springboot 框架 生成 mysql mybatis

1、添加自动生成配置

在根目录下创建:mybatis-generate.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>


    <classPathEntry location="E:/java/repo/mysql/mysql-connector-java/8.0.22/mysql-connector-java-8.0.22.jar"/>

    <context id="context" targetRuntime="MyBatis3">

        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true"/>
            <property name="addRemarkComments" value="true"/>
        </commentGenerator>

        <!--jdbc的数据库连接 -->
        <jdbcConnection
                driverClass="com.mysql.cj.jdbc.Driver"
                connectionURL="jdbc:mysql://"
                userId="username"
                password="password">
            <property name="nullCatalogMeansCurrent" value="true"/>
        </jdbcConnection>

        <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="true"/>
        </javaTypeResolver>

        <!-- Model模型生成器,用来生成含有主键key的类,记录类 以及查询Example类
            targetPackage     指定生成的model生成所在的包名
            targetProject     指定在该项目下所在的路径
        -->
        <javaModelGenerator targetPackage="com.dao.domain"
                            targetProject="src/main/java">
            <!-- 是否允许子包,即targetPackage.schemaName.tableName -->
            <property name="enableSubPackages" value="false"/>
            <!-- 是否对model添加 构造函数 -->
            <property name="constructorBased" value="false"/>
            <!-- 是否对类CHAR类型的列的数据进行trim操作 -->
            <property name="trimStrings" value="false"/>
            <!-- 建立的Model对象是否 不可改变  即生成的Model对象不会有 setter方法,只有构造方法 -->
            <property name="immutable" value="false"/>

            <property name="modelOnly" value="true"/>
        </javaModelGenerator>

        <!--Mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 -->
        <sqlMapGenerator targetPackage="mapper"
                         targetProject="src/main/resources">
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码
                type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
                type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
                type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
        -->
        <javaClientGenerator targetPackage="com.dao.mapper"
                             targetProject="src/main/java" type="XMLMAPPER">
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>

        <!-- 使用命令:mvn mybatis-generator:generate -e  -->

        <!--<table tableName="dlc_config" domainObjectName="DlcConfig"-->
               <!--enableCountByExample="false" enableDeleteByExample="false"-->
               <!--enableSelectByExample="false" enableUpdateByExample="false"/>-->

    </context>

</generatorConfiguration>

2 、添加插件

 <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                    <configurationFile>./mybatis-generate.xml</configurationFile>
                </configuration>
                <dependencies>
                    <!-- 数据库驱动 -->
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.22</version>
                    </dependency>
                </dependencies>
            </plugin>

3、点击插件即可生成

 

标签:xml,插件,springboot,框架,生成,mysql,mybatis
From: https://www.cnblogs.com/xzlnuli/p/18181734

相关文章

  • Mybatis if判断中使用了Ognl关键字导致报错解决方法
    mybatisxml中使用OGNL解析参数,如果直接使用了关键字则会导致解析失败。常见的关键字有:字段mybatis关键字bor(字符|)的英文xor字符^的英文and字符&&band字符&ed字符==neg字符!=lt字符<gt字符>lte字符<=......
  • springboot整合mybatis-plus手动配置
    1、添加依赖<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.6</version></dependency><dependency>......
  • Metasploit Pro 4.22.3-2024050201 (Linux, Windows) - 专业渗透测试框架
    MetasploitPro4.22.3-2024050201(Linux,Windows)-专业渗透测试框架Rapid7Penetrationtesting,ReleaseMay03,2024请访问原文链接:MetasploitPro4.22.3-2024050201(Linux,Windows)-专业渗透测试框架,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org世......
  • 美团二面:SpringBoot读取配置优先级顺序是什么?
    引言SpringBoot作为一种轻量级的Java应用程序框架,以其开箱即用、快速搭建新项目的特性赢得了广大开发者的青睐。其核心理念之一就是简化配置过程,使开发者能够快速响应复杂多变的生产环境需求。为了实现这一点,SpringBoot支持丰富的外部化配置机制,允许应用程序根据不同的部署环境......
  • .NET有哪些好用的定时任务调度框架
    前言定时任务调度的相关业务在日常工作开发中是一个十分常见的需求,经常有小伙伴们在技术群提问:有什么好用的定时任务调度框架推荐的?今天大姚给大家分享5个.NET开源、简单、易用、免费的任务调度框架,帮助大家在做定时任务调度框架技术选型的时候有一个参考。以下开源任务调度收......
  • 盘点10个.Net比较流行的开源的ORM框架
    https://gitee.com/BookerLiu/GeekDesk编程乐趣2022-09-10对于我们而言选择ORM框架的目的,其实都是为了让我们的程序更好的操作数据库,提高开发编程效率和程序的维护拓展性。所以我们选择ORM需要从项目实际业务出发,选择最合适自己团队的框架。下面推荐10个主流比较流行的ORM框架,都......
  • .Net下爬虫框架(整理)
    网上整理中......HtmlAgilityPack:HtmlAgilityPack是一个HTML文档处理库,它使您能够方便地在HTML文档中进行XPath查询和操作。虽然它不是一个专门用于爬取的框架,但可以用于解析和分析HTML页面,从而构建自己的爬虫。AngleSharp:AngleSharp是一个强大的.NET库,用于解析HTML和XML文档,并......
  • 解决SpringBoot内置tomcat出现error:An incompatible version [1.2.16] of the Apache
    问题描述在运行SpringBoot时出现一个error2024-05-08T20:52:06.512+08:00ERROR20752---[springboot3-003-demo][main]o.a.catalina.core.AprLifecycleListener:Anincompatibleversion[1.2.16]oftheApacheTomcatNativelibraryisinstalled,wh......
  • 盘点5个常用的.Net依赖注入框架!
    来自: 编程乐趣盘点5个常用的依赖注入框架,特别是前面2个。1、Microsoft.Extensions.DependencyInjection这是.NetCore框架本身内置集成的,我们只需引入Microsoft.Extensions.DependencyInjection,就可以直接使用。usingDependencyInjectionSample.Interfaces;usingDependency......
  • Seal-Report是一个基于.NET框架的开源报表项目
    01项目简介Seal-Report是一个基于.NET框架的开源项目,提供了简单、直观的报表和报告功能,具有报表设计器,可减少复杂的配置,无需编程知识也可以使用。采用该项目,就可以为企业快速提供高质量的报表,从而提升工作效率和决策速度。 https://github.com/ariacom/Seal-Report02项目功......