chriszg 发表于 2016-11-26 10:00:19

Generator自动生成mybatis配置和类信息(MBG )

  我们在进行
MyBatis
开发时,可以使用
MyBatis
提供的
code generator
自动生成
mybatis

xml
映射文件、
Model

Map
等信息,大家可以到
MyBatis
官网下载一个
mybatis-generator-core-1.3.2-bundle
,在压缩包中找到
lib
下的
jar
包。然后编写
generator.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>
<!-- classPathEntry:数据库的JDBC驱动的jar包地址-->
<classPathEntry location="F:\Develop_Packages\JDBC\mysql-connector-java-5.1.6\mysql-connector-java-5.1.6-bin.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<!-- 是否去除自动生成的注释 true:是,false:否-->
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- 数据库连接的信息:驱动类、连接地址、用户名、密码-->   
<!-- MSSQL: driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver" connectionURL="jdbc:sqlserver://localhost:3306;DatabaseName=ibatis"-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/ibatis"
userId="root"
password="123">
</jdbcConnection>
<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer   
true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal-->
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!---Java 实体的生成-->
<!-- targetProject:自动生成代码的位置-->   
<javaModelGenerator targetPackage="com.iflytek.dao.model" targetProject="F:\Develop_Packages\other framework\mybatis\mybatis-generator-core-1.3.2-bundle\lib">
<!-- enableSubPackages:是否让schema作为包的后缀-->
<property name="enableSubPackages" value="true" />
<!-- 从数据库返回的值被清理前后的空格-->
<property name="trimStrings" value="true" />
</javaModelGenerator>

<!--sqlMapper XML文件的生成信息,包括生成路径等-->
<sqlMapGenerator targetPackage="com.iflytek.dao.xml"targetProject="F:\Develop_Packages\other framework\mybatis\mybatis-generator-core-1.3.2-bundle\lib">
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!--应用接口的生成信息-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.iflytek.dao.mapper"targetProject="F:\Develop_Packages\other framework\mybatis\mybatis-generator-core-1.3.2-bundle\lib">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名-->
<table schema="ibatis" tableName="tbl_student" domainObjectName="Student" >
<!--useActualColumnNames设置为false,则如何数据库表的字段中有比如DATE_FIELD生成为dateField, TEAID:teaid
true,则表示按表中字段原样输出
-->
<property name="useActualColumnNames" value="true"/>
<!--SQLServer :<generatedKey column="ID" sqlStatement="SQLSERVER" identity="true" />-->
<generatedKey column="ID" sqlStatement="MySql" identity="true" />
<!--将表中DATE_FIELD列映射为实体类中的startDate属性-->
<!--<columnOverride column="DATE_FIELD" property="startDate" />-->
<!--忽略指定字段-->
<!-- <ignoreColumn column="birth" />-->
<!--将birth看作varchar类型,而忽略原来的类型-->
<!--<columnOverride column="birth" jdbcType="VARCHAR" />-->
</table>

</context>
</generatorConfiguration>


cmd
中输入
java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml
–overwrite
,这里的路径都是绝对的,为了方便,我们可以在
mybatis-generator-core-1.3.2
所在的文件夹下建一个
bat
文件,输入


@echo off
echo==========mybatis开始生成代码================
java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite
echo==========mybatis生成代码完毕================

最后我们直接运行
bat
文件即可



说明:

1
、以上只是其中一种生成方式,
MyBatis Generator
还提供了比如
maven

ant

Java API
等方式,大家可以查看官方的文档。

      
2
、对于
MyBatis
提供的自动生成对应的
Model

XML

Mapper
接口等代码的功能,个人对此不作评价,开发者感觉用的不错就去用,感觉代码生成的混乱就不要用。
页: [1]
查看完整版本: Generator自动生成mybatis配置和类信息(MBG )