有时候,可能会用到mybatis的自动生成功能,通过自动生成功能可以配置生成哪些表的javabean,javabeanExample.java,javabeanMapper.java,以及javabeanMapper.xml,这跟hibernate是个相反的过程,hibernate是通过对象生成表,而这里mybatis是通过表生成对象。根据mybatis生成的这些对象,你基本可以完成对单个对象的所有操作了,这里不说它生成的各个文件怎么使用,只说怎么生成。我使用的mybatis是3.4.1。

<?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="D:\programs\mvnrepo\repo\mysql\mysql-connector-java\5.1.6\mysql-connector-java-5.1.6.jar" />
  <context id="mybatisGenerator">
    <jdbcConnection 
    	connectionURL="jdbc:mysql://localhost:3306/mybatis" 
    	driverClass="com.mysql.jdbc.Driver" 
    	password="root" 
    	userId="root" />
    	<!-- 配置生成javabean -->
    <javaModelGenerator 
    	targetPackage="cn.zhao.beans.auto" 
    	targetProject="test_za/src/main/java" />
    	<!-- 配置生成xml映射文件 -->
    <sqlMapGenerator 
    	targetPackage="mybatis_auto" 
    	targetProject="test_za/src/main/resources" />
    	<!-- 配置生成dao -->
    <javaClientGenerator 
    	targetPackage="cn.zhao.dao.auto" 
    	targetProject="test_za/src/main/java" 
    	type="XMLMAPPER" />
       <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 -->  
          <table tableName="user_info" domainObjectName="UserInfo" >
  </table>  
  </context>
</generatorConfiguration>


上面这是配置文件,有几个注意的地方:

            1.classPathEntry用于指定通过jdbc连接mysql的jar包所在的位置,根据自己的路径修改

            2.你可以选择生成javabean、生成mapper.xml文件、生成相当于dao层的mapper.java中的一种或几种,这个看你自己的需求了,也就是说javaModelGenerator、sqlMapGenerator、javaClientGenerator标签你需要哪几个就写哪几个。

            3.table标签用于配置要被用于生成的表,domainObjectName如果不写的话mybatis会根据内置规则来命名生成的javabean以及其他文件。比如如果表名为test_table_name,那么按照mybatis内置的默认规则生成后javabean的名字就是TestTableName.java,其他文件的生成都是依据javabean的。

            4.根据targetProject指定的路径,我这个文件应该放在test_za的同级目录下,目录结构如下:

            

根据表生成mybates java mybatis根据表生成对象_根据表生成mybates java

如果你通过targetProject指定的路径不一样,你放置这两个文件的位置也会随着发生变化,也就是说targetProject的值并不是一成不变的固定写法哦。

           5.通过targetPackage属性指定存放java类的包名称或者存放mapper.xml的文件夹的名称

           6.mybatis-generator-core-1.3.5.jar是mybatis专门用来自动生成的插件jar包,可以去网上自行下载

           7.万事俱备之后,该怎么去生成呢?用下面的命令就行了,当然了现在是在generatorConfig.xml文件所在目录下执行的,如果你不在当前路径下执行的话,要注意路径的变化:


java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite


-overwrite表示如果文件存在,就覆盖。执行结果:

根据表生成mybates java mybatis根据表生成对象_xml_02