读书人

Generator自动生成mybatis配备和类信息

发布时间: 2012-12-29 10:28:09 作者: rapoo

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: driverconnectionURL="jdbc:sqlserver://localhost:3306;DatabaseName=ibatis"-->      <jdbcConnection drivervalue="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:teaidtrue,则表示按表中字段原样输出-->       <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>

?

?

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

?

1、以上只是其中一种生成方式,MyBatis Generator还提供了比如maven、ant、Java API等方式,大家可以查看官方的文档。

2、对于MyBatis提供的自动生成对应的Model、XML、Mapper接口等代码的功能,个人对此不作评价,开发者感觉用的不错就去用,感觉代码生成的混乱就不要用。

读书人网 >软件架构设计

热点推荐