Hi ! 我是小小,今天是本周的最后一篇,这一篇将会着重讲解关于MyBatis的一些内容

创建代码生成器

创建Maven项目

在菜单上选择File->new->project选择新建项目

选择maven

10年 | 写了10年的代码,我最怕写Mybatis这些配置,现在有详解了插图

输入GroupID和ArtifactID

随便填入即可

选择Finish

即一个普通的Maven项目创建完成

配置generator.xml

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>

    <!-- 本地数据库驱动程序jar包的全路径 -->
    <classPathEntry location="C:UsersAdministrator.m2repositorymysqlmysql-connector-java8.0.12mysql-connector-java-8.0.12.jar"/>
    <context id="context" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressAllComments" value="false"/>
            <property name="suppressDate" value="true"/>
        </commentGenerator>

        <!-- 数据库的相关配置 -->
        <jdbcConnection
                driverClass="com.mysql.jdbc.Driver"
                connectionURL="jdbc:mysql://localhost:3306/mybatis"
                userId="root"
                password="jim777"/>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- 实体类生成的位置 -->
        <javaModelGenerator
                targetPackage="com.homejim.mybatis.entity"
                targetProject=".srcmainjava">
            <property name="enableSubPackages" value="false"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- *Mapper.xml 文件的位置  sqlMapGenerator-->
        <sqlMapGenerator
                targetPackage="mybatis/mapper"
                targetProject=".srcmainresources">
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!-- Mapper 接口文件的位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.homejim.mybatis.mapper"
                             targetProject=".srcmainjava">
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>

        <!-- 相关表的配置 -->

        <table tableName="blog" />
    </context>
</generatorConfiguration>

需要改一些内容
1. 本地数据库驱动程序jar包的全路径
2. 数据库连接配置
3. 相关表的配置
4. 实体类生成存放的位置
5. MapperXML生成文件存放的位置
6. Mapper接口存放的位置

配置pom.xml

配置pom.xml如下即可

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.homejim.mybatis</groupId>
    <artifactId>mybatis-generator</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!--在原基础上添加 这些就好了-->
    <build>
        <finalName>mybatis-generator</finalName>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.7</version>
                <configuration>
                   <!--此处需要注意, 文件与上面的文件匹配-->
                   <configurationFile>src/main/resources/generator.xml</configurationFile>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
                <executions>
                    <execution>
                        <id>Generate MyBatis Artifacts</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.mybatis.generator</groupId>
                        <artifactId>mybatis-generator-core</artifactId>
                        <version>1.3.7</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
    <!--到此结束-->
</project>

需要注意的是configurationFile 中的文件指明的是generator.xml。

使用及其测试

打开Maven Projects 视图

在IDEA上打开 view -> tools > windows -> Maven Projects
10年 | 写了10年的代码,我最怕写Mybatis这些配置,现在有详解了插图1

Maven Projects 中双击mybatis-generator

在左侧可以看到Maven Projects,找到mybatis-generator插件
mybatis-generator | Plugins | mybatis-generator | mybatis-generator
10年 | 写了10年的代码,我最怕写Mybatis这些配置,现在有详解了插图2

双击运行

运行正确以后,可以看到如下结构
10年 | 写了10年的代码,我最怕写Mybatis这些配置,现在有详解了插图3

XML配置

property

指定元素的属性

分隔符相关

<property name="autoDelimitKeywords" value="true"/>
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>

以上配置对应的是mysql。当数据库中的字段和数据库的关键字一样时, 就会使用分隔符。

比如我们的数据列是 delete, 按以上的配置后, 在它出现的地方, 就变成 delete

编码

可以进行配置

<property name="javaFileEncoding" value="UTF-8"/>

格式化

<!--格式化生成的 Java 代码-->
<property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
<!--格式化生成的 XML-->
<property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>

plugins标签

可以进行相关的配置。例如配置cache缓存

<plugin type="org.mybatis.generator.plugins.CachePlugin" >
            <property name="cache_eviction" value="LRU"/>
</plugin>

10年 | 写了10年的代码,我最怕写Mybatis这些配置,现在有详解了插图4

commentGenerator 标签

生成相关注释

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

关于作者

我是小小,双鱼座的程序猿,我们下期再见~bye~