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

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

创建代码生成器

创建Maven项目

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

选择maven

输入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

Maven Projects 中双击mybatis-generator

在左侧可以看到Maven Projects,找到mybatis-generator插件

mybatis-generator | Plugins | mybatis-generator | mybatis-generator

双击运行

运行正确以后,可以看到如下结构

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>

commentGenerator 标签

生成相关注释

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

关于作者

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

mySoul
我还没有学会写个人说明!
上一篇

移动游戏新趋势:巨头之下,“原神们”冉冉升起

下一篇

《巫师》第一季NG片段:大超频繁笑场 萝卜片场出恭

你也可能喜欢

评论已经被关闭。

插入图片