首页 > 其他分享 >mybatis-generator使用

mybatis-generator使用

时间:2024-11-12 10:42:04浏览次数:1  
标签:java generator -- spring time 使用 mybatis

Mybatis-generator 使用

一. 添加依赖

	<!-- 首先要有mybatis的依赖 和数据库驱动 -->
	<dependencies>
		<!-- mybatis依赖 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>${mybatis-version}</version>
        </dependency>
        <!--数据库驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${database-driver-version}</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.4.1</version>
                <configuration>
                    <!--mybatis的代码生成器的配置文件-->
                    <configurationFile>src/main/resources/mybatis-generator/generatorConfig.xml</configurationFile>
                    <!--允许覆盖生成的文件-->
                    <overwrite>true</overwrite>
                    <!--将当前pom的依赖项添加到生成器的类路径中-->
                    <includeCompileDependencies>true</includeCompileDependencies>
                </configuration>

            </plugin>
        </plugins>
    </build>

这里的mybatis-version是2.3.2,database-driver-version是8.0.25

generatorConfig.xml 文件

这个文件将决定生成的东西

<?xml version="1.0" encoding="UTF-8" ?>
<!--mybatis的代码生成器相关配置-->
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
    <!-- 引入配置文件 -->
    <properties resource="generator.properties"/>

    <!-- 一个数据库一个context,context的子元素必须按照它给出的顺序
        property*,plugin*,commentGenerator?,jdbcConnection,javaTypeResolver?,
        javaModelGenerator,sqlMapGenerator?,javaClientGenerator?,table+
    -->
    <context id="myContext" targetRuntime="MyBatis3" defaultModelType="flat">

        <!-- 这个插件给生成的Java模型对象增加了equals和hashCode方法 -->
        <!--<plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"/>-->

        <!-- 注释 -->
        <commentGenerator>
            <!-- 是否不生成注释 -->
            <property name="suppressAllComments" value="true"/>
            <!-- 不希望生成的注释中包含时间戳 -->
            <!--<property name="suppressDate" value="true"/>-->
            <!-- 添加 db 表中字段的注释,只有suppressAllComments为false时才生效-->
            <!--<property name="addRemarkComments" value="true"/>-->
        </commentGenerator>


        <!-- jdbc连接 -->
        <jdbcConnection driverClass="${spring.datasource.driverClassName}"
                        connectionURL="${spring.datasource.url}"
                        userId="${spring.datasource.username}"
                        password="${spring.datasource.password}">
            <!--高版本的 mysql-connector-java 需要设置 nullCatalogMeansCurrent=true-->
            <property name="nullCatalogMeansCurrent" value="true"/>
        </jdbcConnection>

        <!-- 类型转换 -->
        <javaTypeResolver>
            <!--是否使用bigDecimal,默认false。
                false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer
                true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal-->
            <property name="forceBigDecimals" value="true"/>
            <!--默认false
                false,将所有 JDBC 的时间类型解析为 java.util.Date
                true,将 JDBC 的时间类型按如下规则解析
                    DATE	                -> java.time.LocalDate
                    TIME	                -> java.time.LocalTime
                    TIMESTAMP               -> java.time.LocalDateTime
                    TIME_WITH_TIMEZONE  	-> java.time.OffsetTime
                    TIMESTAMP_WITH_TIMEZONE	-> java.time.OffsetDateTime
                -->
            <!--<property name="useJSR310Types" value="false"/>-->
        </javaTypeResolver>

        <!-- 生成实体类地址 -->
        <javaModelGenerator targetPackage="com.Lnn.entity" targetProject="src/main/java">
            <!-- 是否让 schema 作为包的后缀,默认为false -->
            <!--<property name="enableSubPackages" value="false"/>-->
            <!-- 是否针对string类型的字段在set方法中进行修剪,默认false -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>


        <!-- 生成Mapper.xml文件 -->
        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
            <!--<property name="enableSubPackages" value="false"/>-->
        </sqlMapGenerator>

        <!-- 生成 XxxMapper.java 接口-->
        <javaClientGenerator targetPackage="com.Lnn.mapper" targetProject="src/main/java" type="XMLMAPPER">
            <!--<property name="enableSubPackages" value="false"/>-->
        </javaClientGenerator>


        <!-- schema为数据库名,oracle需要配置,mysql不需要配置。
             tableName为对应的数据库表名
             domainObjectName 是要生成的实体类名(可以不指定,默认按帕斯卡命名法将表名转换成类名)
             enableXXXByExample 默认为 true, 为 true 会生成一个对应Example帮助类,帮助你进行条件查询,不想要可以设为false
             -->
        <table schema="" tableName="" domainObjectName=""
               enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
               enableUpdateByExample="false" selectByExampleQueryId="false">
            <!--是否使用实际列名,默认为false-->
            <!--<property name="useActualColumnNames" value="false" />-->
        </table>

    </context>
</generatorConfiguration>

上面有个 generator.properties 配置文件,放在resource目录下,主要是不想在上面写死配置,本来想着读取application.yml文件的,但发现好像有问题,就另外弄了个.properties文件,下面是具体内容。

spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/数据库名?characterEncoding=utf-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456

最后一步 具体修改

需要填写的两个地方:一个是实体、mapper、mapper.xml的存放位置;另一个则是根据数据库的表填写对应的table标签。

做完之后点击Maven插件中的mybatis-generator:generate 之后就ok了(这里指的是IDEA编辑器下,其他的大概要执行mvn指令)。

标签:java,generator,--,spring,time,使用,mybatis
From: https://www.cnblogs.com/LIang2003/p/18541345

相关文章

  • 使用 PostScript 实现简单的 OCR 处理
    PostScript并不直接支持图像处理,因此我们将展示如何通过一些基本图像绘制和简单字符检测来模拟文字识别的概念。读取图像并转换为灰度图由于PostScript并不原生支持读取图像,这里假设我们可以将图像以数据的形式加载,并通过PostScript的逻辑来绘制出图像的灰度形式。posts......
  • git使用
    配置设置用户名和邮件地址,每次Git提交都会使用这些信息$gitconfig--globaluser.name"JohnDoe"[email protected]检查配置,列出所有Git当时能找到的配置$gitconfig--list查找特定配置gitconfig<key>,查找用户名$gitconfig......
  • 如何延长便携式负载箱使用寿命?
    便携式负载箱是一种用于测试和校准电力设备的设备,它能够模拟实际的负载情况,帮助用户确保设备的性能和安全性。然而,这种设备的价格通常较高,因此,延长其使用寿命对于用户来说是非常重要的。以下是一些可以帮助你延长便携式负载箱使用寿命的建议:正确使用:首先,你需要正确使用便携式负......
  • 学校官网应该使用哪种SSL证书?
    学校官网在选择SSL证书时,应考虑多个因素,包括网站的性质、安全要求、预算以及证书的管理便捷性等。以下是关于学校官网应使用哪种SSL证书的详细分析:多域名和子域名需求:如果学校官网有多个子域名或者不同的域名需要同时进行SSL加密,可以选择多域名证书(SAN/UCC证书)或多用途证书(WildC......
  • 使用VBS对Excel文件内容进行批量替换
    1、通过读取外部txt文件的方式进行替换OptionExplicitIfWscript.Arguments.Count=0ThenWScript.EchoChr(10)&_"[正确操作]"&Chr(10)&Chr(10)&_Chr(9)&"拖拽导出的Excel文件到本程序"&Chr(10)&Chr(10)&_"[错误操作]"&C......
  • ONLYOFFICE 8.2版本使用心得与评测
    文章目录ONLYOFFICE8.2版本使用心得与评测一、界面与操作体验二、兼容性与文件格式支持三、强大的协作功能四、个性化的品牌定制功能五、电子表格与演示文稿功能六、新功能的体验与感悟七、开源社区的力量总结ONLYOFFICE8.2版本使用心得与评测自从ONLYOFFICE这款......
  • 函数(概念、使用、参数、return、argument、函数方法、嵌套函数、立即执行函数)
    一、函数的概念函数:就是封装一段可被重复调用执行的代码块。通过代码块可以实现在需要的的重复使用,使用typeof检查一个函数对象时,会返回function函数的封装是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口,简单理解:将很多衣服打包到一个行李箱,jQuer......
  • 华为交换机使用高级ACL限制不同网段的用户互访案例
    1.组网需求如下图网络拓扑,某公司通过交换机LSW1实现各部门之间的互连。为方便管理网络,管理员为公司的研发部和市场部规划了两个网段的IP地址。同时为了隔离广播域,又将两个部门划分在不同VLAN之中。现要求LSW1既能够限制两个网段之间互访,又不影响两个部门访问外网。2.配置思......
  • 使用VMware Workstation 搭建docker服务器
    1、环境信息使用的操作系统版本为centos7 64位2009版本使用Vmwareworkstation版本为15pro2、安装centos72.1、创建虚拟机说明:现在centos7已经不能在官网下载,可以在阿里云上下载https://mirrors.aliyun.com/centos/7/isos/x86_64/也可以去网上找一下其他提供镜像的......
  • 如何使用Redis进行缓存管理?
    使用Redis进行缓存管理时,需要考虑以下几个方面:选择合适的缓存策略:常见的缓存策略包括FIFO(先进先出)、LRU(最近最少使用)和LFU(最近最不常使用)等。此外,还有CacheAside(旁路缓存)、Read/WriteThrough(读写穿透)和WriteBehindCaching(异步缓存写入)等模式。缓存读写策略:Redis支持多......