前言
事实上,我们在平时的工作中不得不去写一些已经写过千万遍的代码。当然,如果对我们的成长有帮助写也就写了,然而,这些代码只是让我们增加了对于键盘的熟悉度而已,Mybatis的dao接口以及mapper文件大概就属于这样的代码。那么,该学学如何去自动生成了!
基础配置
首先当然是要引入我们需要的jar包。因为我自己使用的maven,就给出maven的jar。
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
<scope>compile</scope>
</dependency>
ok,做完了jar的引入,我们还需要引入所谓的maven插件,这能够让我们比较方便的使用这个功能。对了,关于上面的jar的版本,这个是一个外国的牛人写的工具,然而现在它不更新了!maven插件如下:
<build>
<finalName>alitaobaoke</finalName>
<pluginManagement>
<plugins>
<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>
</plugins>
</pluginManagement>
</build>
如何配置
首先放上配置文件,然后再详细的说明:
<?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>
<!-- !!!! Driver Class Path !!!! -->
<classPathEntry
location="D:\90Workspace\maven\stone\mysql\mysql-connector-java\5.1.35\mysql-connector-java-5.1.35.jar"/>
<context id="alitaobaoke" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true"/>
<property name="suppressDate" value="true"/>
</commentGenerator>
<!-- !!!! 数据源 !!!! -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://112.74.172.49:3306/goodsinfo"
userId="dwadawdawdaw" password="fulei"/>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- !!!! 表模型 !!!! -->
<javaModelGenerator targetPackage="com.henry.test" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- !!!! mappoer文件 !!!! -->
<sqlMapGenerator targetPackage="com.henry.test" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- !!!! mapper接口 !!!! -->
<javaClientGenerator targetPackage="com.henry.test" targetProject="src/main/java" type="XMLMAPPER">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- !!!! 表配置 !!!! -->
<table tableName="goodsinfo" domainObjectName="GoodsInfoVo" enableSelectByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false"
enableCountByExample="false">
</table>
</context>
</generatorConfiguration>
其实上面的配置也没什么难的,一定要制定对应的数据库驱动!然后确定对应的mapper文件、接口、model的地址就可以了,当然了,配置表的时候选项比较多,我们可以点到DTD文件中去看下!
<!--
The table element is used to specify a database table that will be the source information
for a set of generated objects.
-->
<!ELEMENT table (property*, generatedKey?, columnRenamingRule?, (columnOverride | ignoreColumn)*) >
<!ATTLIST table
catalog CDATA #IMPLIED
schema CDATA #IMPLIED
tableName CDATA #REQUIRED
alias CDATA #IMPLIED
domainObjectName CDATA #IMPLIED
enableInsert CDATA #IMPLIED
enableSelectByPrimaryKey CDATA #IMPLIED
enableSelectByExample CDATA #IMPLIED
enableUpdateByPrimaryKey CDATA #IMPLIED
enableDeleteByPrimaryKey CDATA #IMPLIED
enableDeleteByExample CDATA #IMPLIED
enableCountByExample CDATA #IMPLIED
enableUpdateByExample CDATA #IMPLIED
selectByPrimaryKeyQueryId CDATA #IMPLIED
selectByExampleQueryId CDATA #IMPLIED
modelType CDATA #IMPLIED
escapeWildcards CDATA #IMPLIED
delimitIdentifiers CDATA #IMPLIED
delimitAllColumns CDATA #IMPLIED>
上面的xnl我们就可以看的出来如何去配置这些属性!
启动
相比较配置了这么多,启动当然就是so easy。只需要在当前的项目根目录,注意,重要的事情说三遍,根目录,根目录,根目录!
mvn mybatis-generator:generate
ok,让我们来看看结果!
总结
有了这个工具的帮助,妈妈再也不需要担心我的mapper文件了!啊哈哈!实际上,我们在工作的过程中肯定会遇到一些重复去做的事情,遇到这些事情,自动化它吧!让自己的焦点放在更重要的事情上面去!