`

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 楼 小头猎豹 2013-08-18  
读你的博节省了我研究这个很多的时间,支持一个!

相关推荐

Global site tag (gtag.js) - Google Analytics