zoukankan      html  css  js  c++  java
  • mybatis-generator 自动生成mybatis代码与xml

    一、pxm.xml中引入mybatis-generator并配置

    在build节点下的plugins下添加org.mybatis.generator 示例代码如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.2.6.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.dcrenl.test</groupId>
        <artifactId>test</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>test</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>2.1.2</version>
            </dependency>
    
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
    
                <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <configuration>
                        <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
                        <verbose>true</verbose>
                        <overwrite>true</overwrite>
                    </configuration>
                    <!--加入下面这个依赖-->
                    <dependencies>
                        <dependency>
                            <groupId>mysql</groupId>
                            <artifactId>mysql-connector-java</artifactId>
                            <version>${mysql.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
    
            </plugins>
        </build>
    
    </project>

    二、在resources文件夹下新建mybatis-generator配置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:数据库的JDBC驱动,换成你自己的驱动位置 可选 -->
    <!--    <classPathEntry location="C:Usersdcrenl.m2
    epositorymysqlmysql-connector-java8.0.19mysql-connector-java-8.0.19.jar"/>-->
    
        <!-- 一个数据库一个context,defaultModelType="flat" 大数据字段,不分表 -->
        <context id="MysqlTables" targetRuntime="MyBatis3" defaultModelType="flat">
    
            <!-- 自动识别数据库关键字,默认false,如果设置为true,根据SqlReservedWords中定义的关键字列表;一般保留默认值,遇到数据库关键字(Java关键字),使用columnOverride覆盖 -->
            <property name="autoDelimitKeywords" value="true"/>
    
            <!-- 生成的Java文件的编码 -->
            <property name="javaFileEncoding" value="utf-8"/>
    
            <!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; -->
            <property name="beginningDelimiter" value="`"/>
            <property name="endingDelimiter" value="`"/>
    
            <!-- 格式化java代码 -->
            <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
    
            <!-- 格式化XML代码 -->
            <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>
            <plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
            <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
    
            <!-- 注释 -->
            <commentGenerator>
                <property name="suppressAllComments" value="true"/><!-- 是否取消注释 -->
                <property name="suppressDate" value="false"/> <!-- 是否生成注释代时间戳-->
            </commentGenerator>
    
            <!-- jdbc连接-->
            <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                            connectionURL="jdbc:mysql://localhost:3306/test?serverTimezone=UTC&amp;setUnicode=true&amp;characterEncoding=utf8" userId="root"
                            password="root">
                <!-- 防止生成其它库的表 -->
                <property name="nullCatalogMeansCurrent" value="true"/>
            </jdbcConnection>
    
            <!-- 类型转换 -->
            <javaTypeResolver>
                <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
                <property name="forceBigDecimals" value="false"/>
            </javaTypeResolver>
    
            <!-- 生成实体类地址 -->
            <javaModelGenerator targetPackage="com.dcrenl.examinersystem.entity" targetProject="src/main/java">
                <!-- 是否让schema作为包的后缀 -->
                <property name="enableSubPackages" value="false"/>
                <!-- 从数据库返回的值去掉前后空格 -->
                <property name="trimStrings" value="true"/>
            </javaModelGenerator>
    
            <!-- 生成map.xml文件存放地址 -->
            <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
                <property name="enableSubPackages" value="false"/>
            </sqlMapGenerator>
    
            <!-- 生成接口dao(mapper) -->
            <javaClientGenerator targetPackage="com.dcrenl.examinersystem.mapper" targetProject="src/main/java" type="XMLMAPPER">
                <property name="enableSubPackages" value="false"/>
                <property name="nullCatalogMeansCurrent" value="true"/>
            </javaClientGenerator>
    
            <!-- table可以有多个,每个数据库中的表都可以写一个table,tableName表示要匹配的数据库表,也可以在tableName属性中通过使用%通配符来匹配所有数据库表,只有匹配的表才会自动生成文件 enableSelectByPrimaryKey相应的配置表示是否生成相应的接口 -->
            <table tableName="t_%"
                   enableCountByExample="false"
                   enableUpdateByExample="false"
                   enableDeleteByExample="false"
                   enableSelectByExample="false"
                   selectByExampleQueryId="false"
                   enableSelectByPrimaryKey="true"
                   enableUpdateByPrimaryKey="true"
                   enableDeleteByPrimaryKey="true"
            >
                <property name="useActualColumnNames" value="false"/>
            </table>
    
        </context>
    </generatorConfiguration>

    三、点击IDEA右侧“Maven”栏目,在“Plugins”中找到“mybatis-generator”展开找到“mybatis-generator:generate”,右键,“Run Maven Build” 生成

  • 相关阅读:
    解决magento后台无法登陆/登陆没有反应的方法
    修正magento快速搜索返回结果不准确
    怎么在手机浏览器上访问电脑本地的文件,局域网内,自建WiFi也可以
    php中cookie+mysql实现的购物车代码
    深入分析Php处理浮点数的问题
    Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
    推荐mysql优化的21条经验
    Magento产品批量导入方法?
    Magento控制器
    grub uuid设置
  • 原文地址:https://www.cnblogs.com/dcrenl/p/12725111.html
Copyright © 2011-2022 走看看