Posted on 2012-07-22 17:12
ZhouFeng 阅读(11830)
评论(0) 编辑 收藏 所属分类:
原创 、
Web开发
在用MyBatis的时候,会涉及到POJO类的编写,Mapper接口的编写,还有一些xml配置文件,数据库的创建也得自己完成,这样只是把数据库访问方式换成了ORM的方式进行,工作量并没有减少,在MyBatis主页里有看到提供的代码生成工具,便试了一下,写好配置文件后,执行一条命令便生成了之前我们手工完成的这些文件,很酷哇。
首先在网上下载
mybatis-generator,此处下载的是3.1.1的版本的一个zip包,下载好后解压
解压后有个doc目录和一个lib目录,doc目录提供了一个使用说明文档,lib目录是我们需要的jar文件,当然还有提供源代码和文档jar,这些可以导入MyEclipse里用
进入到lib目录中(当然也可以在别处创建一个目录,只不过在使用时要指定jar文件路径,此处为了方便点,就把文件生成在这个目录里了),创建一个配置文件,如conf.xml,此处文件名自己命名,没有命名方面的特殊要求,我是参考doc文档里的配置文件写的,如下
<?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="mysql-connector-java-3.1.13-bin.jar" />
<context id="mysqlTables" targetRuntime="MyBatis3">
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost/bbs"
userId="root"
password="1233">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<javaModelGenerator targetPackage="test.model" targetProject="src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<sqlMapGenerator targetPackage="test.xml" targetProject="src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="test.dao" targetProject="src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<table tableName="tb_users" >
</table>
</context>
</generatorConfiguration>
<table>标签里指定要生成的相关数据表,如果有多个表的话,需要配置多个<table>
数据库还是用之前创建好的数据库和表,并指定了要生成文件的相关表,因为要用到与数据库的连接,得加载数据库驱动,可以将mysql的驱动放在系统环境变量的classpath里,也可以在配置文件里指定路径,此处为了配置文件方便,把mysql的驱动jar包拷贝到lib目录下了,并创建一个用于存放生成文件的src文件夹
在命令窗口模式下,进入到lib目录,执行如下命令
java -jar mybatis-generator-core-1.3.1.jar -configfile conf.xml -overwrite
命令执行完成后,便可在src目录下看到生成的一些文件了,大概看了一下生成的代码,自己写的话,还是要花一点时间的,有好的工具,可真是方便呀,不过发现一个问题,生成的代码里的好多的注释,感觉注释比可用代码都多,我查了一下配置文件,找到了一个去掉生成注释的地方,把它加在了配置文件里,大概位置如下,我之前放错了地方,就没法运行
<context id="mysqlTables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
<property name="suppressDate" value="true" />
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
这样改了之后,生成的代码就没有注释了,这下清爽了许多,至于<commentGenerator>标签和里面的两个属性的含义,doc文档里有详细的说明,我就不贴在这里了,如果要把生成的文件放到工程应用里,注意改下相关的路径及包名,应该就可以了。
用了一下,感觉这个东东很不错,确实省事儿不少,不过我还没有在项目中尝试,写在这里了先:)