参考博客: http://blog.csdn.net/zng_xp/article/details/78085403
作为菜鸡一枚,我觉得有必要把学到的知识记录下来。
在学习spring boot时就有学到如何使用spring boot生成数据库表。但是菜如我不会配置各种外键索引参数,so只能每次生成表之后又到数据库添加索引,外键等等约束。表不多还好,一旦表多起来都不想去改了,看着就心累。后来就想着自己写sql创建表,然后逆向生成实体类。参考的博客使用的是idea,而我使用的是eclipse,实在是搞了好久才弄出来。
少废话,说正题。
pom.xml添加插件
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<!--配置文件的位置-->
<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
</plugin>
以上代码放在 之间,不可拆分。
generatorConfig.xml配置
在resource下新建配置文件generatorConfig.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>
<!--mysql 连接数据库jar 这里选择自己本地位置-->
<classPathEntry location="G:\MYmaven\repository\mysql\mysql-connector-java\5.1.43\mysql-connector-java-5.1.43.jar" />
<context id="testTables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/db?serverTimezone=UTC" userId="root"
password="123456">
</jdbcConnection>
<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
NUMERIC 类型解析为java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- targetProject:生成PO类的位置 -->
<javaModelGenerator targetPackage="com.xxxx.open.model.test"
targetProject="src/main/java">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置
如果maven工程只是单独的一个工程,targetProject="src/main/java"
若果maven工程是分模块的工程,targetProject="所属模块的名称",例如:
targetProject="ecps-manager-mapper",下同-->
<sqlMapGenerator targetPackage="mapXml"
targetProject="src/main/resources">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.xxxx.open.model.test"
targetProject="src/main/java">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 指定数据库表 -->
<table schema="area" tableName="area"></table>
</context>
</generatorConfiguration>
代码敲完,接下来就运行实践。
最好先右键项目选择maven–>update project…
然后再maven build….
配置运行参数:
Goals:mybatis-generator:generate -e
Profiles:generatorConfig.xml
最后点击run等待完成
控制台打印如下,说明已经生成area.java类了。刷新一下项目就会出来。
打开看看那四个文件,感觉只有实体类是我需要的,其他菜鸡都删除了,不会用。
看完记得扫支付宝红包哟