设为首页 收藏本站
查看: 938|回复: 0

[经验分享] 使用MyBatis Generator生成DAO

[复制链接]

尚未签到

发表于 2016-11-24 09:44:46 | 显示全部楼层 |阅读模式
虽然MyBatis很方便,但是想要手写全部的mapper还是很累人的,好在MyBatis官方推出了自动化工具,可以根据数据库和定义好的配置直接生成DAO层及以下的全部代码,非常方便.
 
需要注意的是,虽然自动化工具需要一个配置文件,但是MyBatis的配置文件仍然不能少,自动化工具的配置文件用于对生成的代码的选项进行配置,MyBatis的配置文件才是运行时的主要配置文件.
 
这个工具叫做MyBatis_Generator,不过比较扯淡的是官方虽然推出了这个工具,不过在google code上面看到的工具仅仅是一个jar包而已,在用这个工具的时候需要在cmd下面执行命令才能根据配置文件生成所需的各种文件,下面是该jar的下载地址:
http://mybatis.googlecode.com/files/mybatis-generator-core-1.3.1-bundle.zip
 
后来我仔细挖掘了Google Code上的东西,发现官方提供的也有可以直接安装到Eclipse里面的插件,唯一让人不爽的是这个插件只能安装在Eclipse3.6以上的版本,目前大部分人用的都是3.5.2或者更低的版本,给个地址吧,想方便点的可以试试,请确认你的eclipse的版本或者Myeclipse所用的eclipse版本是3.6以上的,否则无法安装,下面是eclipse更新地址:
http://mybatis.googlecode.com/svn/sub-projects/generator/trunk/eclipse/UpdateSite/
 
下面我要说的是针对cmd下操作的方法,插件操作方法超级简单和abator(ibatis 2.X的插件)的使用方法一样.
 
在类路径下面建立generatorConfig.xml文件,这个文件配置各种生成选项,
 

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>
<properties   url="file:///D:/softcode/mybatis.properties" />
<classPathEntry location="${classPath}" />
<context id="MBG" targetRuntime="MyBatis3" defaultModelType="conditional"><!--targetRuntime 此属性用于指定生成的代码的运行目标。 -->
<plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" />
<!--
<plugin type="org.mybatis.generator.plugins.MapperConfigPlugin">
<property name="fileName" value="GeneratedMapperConfig.xml" />
<property name="targetPackage" value="com.easyway.app.core.mgr" />
<property name="targetProject" value="../java" />
</plugin>
-->
<plugin type="org.mybatis.generator.plugins.RenameExampleClassPlugin">   
<property name="searchString" value="Example$" />   
<property name="replaceString" value="Criteria" />   
</plugin>   
<commentGenerator>
<property name="suppressAllComments" value="false" />
<property name="suppressDate" value="true" />  
</commentGenerator>
<jdbcConnection driverClass="${driverClass}" connectionURL="${connectionURL}" userId="${userName}" password="${password}"/>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" /><!-- 类型解析器 -->
</javaTypeResolver>
<javaModelGenerator targetPackage="${modelPackage}" targetProject="../java"><!-- 实体类 -->
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />  
</javaModelGenerator>
<sqlMapGenerator targetPackage="${sqlMapperPackage}" targetProject="../resources"><!-- 实体类SQL映射文件 -->
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="${daoMapperPackage}" targetProject="../java">
<property name="enableSubPackages" value="true" /><!-- 接口 -->
</javaClientGenerator>

<table  catalog="TBS"   tableName="TEST_TEST" domainObjectName="LoginLog"
enableCountByExample="true" enableUpdateByExample="true"
enableDeleteByExample="true" enableSelectByExample="true"
selectByExampleQueryId="true">
</table>
</context>
</generatorConfiguration>
 

 





需要注意的是上面的targetProject此处应写成文件路径的形式,而不是项目路径,指定类文件生成到src的org.qiuqiu.vo包下面,如果是用插件的话targetProject直接写项目名称即可,比如直接写MyBatis_Generator.
上面我仅仅简单的写了些注释,稍后我会将详细的配置选项以附件的形式发上来
 
然后就开始要生成文件了,打开cmd,进入项目路径的lib下面,也就是含有mybatis-generator-core-1.3.1.jar文件的目录中,执行以下命令:
 

classPath=ojdbc14-10.2.0.2.jar
targetProject=xxxxx
driverClass=oracle.jdbc.driver.OracleDriver
connectionURL=jdbc:oracle:thin:@10.100.102.8:1521:xxx
userName=xxx
password=123456

modelPackage=xxxxxxxxxxxxxxxxxxxxxxxxxx
sqlMapperPackage=mybatis/mappers
daoMapperPackage=xxxxxxxxxxxxx
 maven自动生成配置

<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>generator</groupId>
<artifactId>generator</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<configurationFile>generatorConfig.xml</configurationFile>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.0</version>
<configuration>
<configurationFile>generatorConfig.xml</configurationFile>
<verbose>true</verbose>  
<overwrite>true</overwrite>
</configuration>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
 

Cmd




  • java -jar mybatis-generator-core-1.3.1.jar -configfile ../src/generatorConfig.xml -overwrite



OK了,刷新一遍目录,可以看到vo,dao,xml全都自动生成了.
 
附件中有一个示例项目已经含有了所需要的全部包,
另一个附件是配置选项的官方说明文档
再奉上一个MyBatis的官方eclipse插件,可以安装在eclipse3.6版本以上

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-304824-1-1.html 上篇帖子: MYBATIS 的parameter 下篇帖子: mybatis 的 callSettersOnNulls 问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表