最近项目需要用到了Mybatis又不想写太多的代码所用就尝试用了mybatis generator。在网上找了些相关的资料,大部分都是转载或是写的不是那么详细。经过研究找到了个方便有效的方法。

我用的工具是Myeclipse10和mybatis-generator-core-1.3.1,数据库是oracle

1.下载mybatis-generator-core-1.3.1-bundle,导入mybatis-generator-core-1.3.1.jar和myeclipse3.1.1.jar

2.编写生成器的配置文件generatorConfig.xml.

这个配置文件是生成器的主要文件,放在src目录下,这里只介绍基本的配置,具体介绍可以到官网查询

<?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:/oracle/product/11.2.0/dbhome_1/jdbc/lib/ojdbc5.jar" />

  <context id="MBG" targetRuntime="MyBatis3">

    <!-- 数据库配置 -->
    <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
        connectionURL="jdbc:oracle:thin:@localhost:1521:orcl"
        userId="sys"
        password="123456">
    </jdbcConnection>

    <javaTypeResolver >
      <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>


    <!-- model配置 -->
    <javaModelGenerator targetPackage="com.common.model" targetProject="\MBGTestProject\src">
      <property name="enableSubPackages" value="true" />
      <property name="trimStrings" value="true" />
    </javaModelGenerator>
    <!-- xml配置文件 -->
    <sqlMapGenerator targetPackage="com.common.model"  targetProject="\MBGTestProject\src">
      <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>
    <!--接口-->
    <javaClientGenerator type="XMLMAPPER" targetPackage="com.common.dao"  targetProject="\MBGTestProject\src">
      <property name="enableSubPackages" value="true" />
    </javaClientGenerator>

    <table  tableName="BASE_USERS" domainObjectName="Users" >
    </table>

  </context>
</generatorConfiguration>

在<table>里不要写schema属性,否则会报错,这个应该是mybatis-generator的bug

targetProject是项目的根路径,targetPackage是相应文件的包路径

3.执行generatorConfig.xml. 生成代码

在myeclipse10里右键单击generatorConfig.xml. 执行Generate MyBatis/iBATIS Artifacts代码生成成功!

利用Generate MyBatis/iBATIS Artifacts执行generatorConfig.xml.可以查看生成过程中的错误信息,比较方便而且不用执行命令和写main方法