之前没用mybatis正式做过公司项目,最近自己搭建了一个集成了mybatis项目,然后一直不知道怎么可以类似hibernate一样自动生成一些代码,后来百度了下 了解了generator
这个插件还是不错的,我是将他集成到了eclipse里面,首先其实这就是个xml,然后用eclipse install一下这个插件http://mybatis.googlecode.com/svn/sub-projects/generator/trunk/eclipse/UpdateSite/
安装后将generator.xml放入项目中,可以放在resources下面
<?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="/Users/srx/.m2/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自动生成的注释 这个最好设置成false 否则容易出现重复代码 -->
<property name="suppressAllComments" value="false" />
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/ssmdb"
userId="root"
password="root">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- javabeen生成的地方 -->
<javaModelGenerator targetPackage="org.xin.entity" targetProject="bill">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- mapper生成的地方 -->
<sqlMapGenerator targetPackage="org.xin.mapper" targetProject="bill"> <property name="enableSubPackages" value="false" /> </sqlMapGenerator>
<!-- mapper.xml生成的地方 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="org.xin.mapper.xml" targetProject="bill"> <property name="enableSubPackages" value="true" /> </javaClientGenerator>
<!-- 表名和生成的实体名 -->
<table tableName="user_t" domainObjectName="UserEntity" />
</context>
</generatorConfiguration><span style="font-family:Arial;color:#362e2b;"><span style="font-size: 14px; line-height: 26px;">
</span></span>
然后鼠标右键这个xml,可以找到 Generate MyBatis/iBATIS Artifacts
注意:
运行的时候注释要去掉,不然运行解析不了,这个我当初浪费了很多时间,一直在找错误
然后会生成一些代码
1.实体
2.Example
3.mapper 和 mapper.xml
之前乍一看还不会用example,然后就自己试,其实很好用的
实例化这个example后可以创建一个criteria,里面有一系列的条件方法,用来pin sql ,当然这些pin的sql在mapper.xml里面已经写好了,只需要在这里调用就行了
然后如果有什么复杂的sql的话,只能自己去mapper里面加或者修改了 不可能全部靠自动生成的代码来处理业务。
其实用这个插件的方式还有很多种,比如用控制台命令什么的,但是感觉那些太复杂了,这样多方便
另外一种方法,不用引入插件
http://blog.csdn.net/zhshulin/article/details/23912615