虽然很多人写过类似的blog,俗话说好记性不如烂笔头,还是自己写写记得牢,顺便默数下
mybatis-gennerator
插件的前世今生。
主要是为了简化代码,节省时间
1.maven项目中pom.xml文件
通过配置插件,让maven在执行install的时候,自动重新生成代码,因为生成的代码中包含mybatis包中的类,所以也需要引入该包。
<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.jacksoft.mybatis</groupId>
<artifactId>mybatis-generator</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<mybatis-generator.version>1.3.1</mybatis-generator.version>
<mysql.version>5.1.13</mysql.version>
<mybatis.version>3.0.3</mybatis.version>
</properties>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>${mybatis-generator.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
</dependencies>
<build>
<finalName>mybatis-generator</finalName>
<plugins>
<!--这段plugin就可以了-->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<!--可移动-->
<verbose>true</verbose>
<!--可覆盖-->
<overwrite>true</overwrite>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
创建mysqlGeneratorConfig.xml文件
在src/main/resources/config目录下面创建mysqlGeneratorConfig.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 location="D:\\m2\\repository2\mysql\\mysql-connector-java\\5.1.30\\mysql-connector-java-5.1.30.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库链接URL,用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/test1" userId="root" password="1111">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成模型的包名和位置-->
<javaModelGenerator targetPackage="com.example.pojo" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成映射文件的包名和位置-->
<sqlMapGenerator targetPackage="com.example.mapping" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
<table tableName="user_t" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
生成代码
到这里就差不多了,保存为该文件后,实际上就已经开始生成代码了,但是在source code界面,还是看不到代码,我们通过刷新或者 右键项目-->Maven-->Update Project Configuration这样就把生成的代码找到了,具体如下图
当然也可以用cmd命令行生成代码
jar包放在该目录下,如上图所示,在该目录下,按住Shift键,右键鼠标打开cmd,输入java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite,即可。
结尾
这里解释下,文中可能有借鉴大神们的部分经验,表示感谢,但是仅供自我经验积累,谢谢。