虽然MyBatis很方便,但是想要手写全部的mapper还是很累人的,好在MyBatis官方推出了自动化工具,可以根据数据库和定义好的配置直接生成DAO层及以下的全部代码,非常方便.
需要注意的是,虽然自动化工具需要一个配置文件,但是MyBatis的配置文件仍然不能少,自动化工具的配置文件用于对生成的代码的选项进行配置,MyBatis的配置文件才是运行时的主要配置文件.
在类路径下面建立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驱动路径 -->
<classPathEntry location="C:\Users\lscm\.m2\repository\mysql\mysql-connector-java\5.1.35\mysql-connector-java-5.1.35.jar" />
<!-- 此处指定生成针对MyBatis3的DAO -->
<context id="Mysql" targetRuntime="MyBatis3">
<!-- 需求特殊转换使用可以增加相应的plugin -->
<plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
<!-- jdbc连接信息 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://172.16.18.172:3306/paytest" userId="root" password="root" />
<!-- 生成vo对象 -->
<javaModelGenerator targetPackage="com.nextxworkroom.payment.gateway.model" targetProject="src/main/java" />
<!-- 生成用于查询的Example对象 -->
<sqlMapGenerator targetPackage="com.nextxworkroom.payment.gateway.dao.mapper" targetProject="src/main/java" />
<!-- 生成DAO的类文件以及配置文件 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.nextxworkroom.payment.gateway.dao.mapper" targetProject="src/main/java" />
<!-- 想要生成的数据库表,自动化工具会根据该表的结构生成相应的vo对象 -->
<table schema="payGateway" tableName="T_PAYMENT_ORDER" domainObjectName="PaymentOrder" />
</context>
</generatorConfiguration>
需要注意的是上面的targetProject此处应写成文件路径的形式,而不是项目路径,指定类文件生成到src/main/java的
com.nextxworkroom.payment.gateway.model
包下面,如果是用插件的话targetProject直接写项目名称即可,比如直接写MyBatis_Generator.
上面我仅仅简单的写了些注释,稍后我会将详细的配置选项以附件的形式发上来
java -jar mybatis-generator-core-1.3.1.jar -configfile ../src/generatorConfig.xml -overwrite
后续我们还会怎样增加一些特殊处理方案,如更新时间,targetProject相关目录优化等....
请参考我这边相关github相关项目:https://github.com/nf25tod/mybatis-generator.git