`

mybatis generator

 
阅读更多
1. 在 Mybatis 主页 http://code.google.com/p/mybatis/ 上下载 Mybatis mybatis-generator-core [ mybatis-generator-core-1.3.2-bundle.zip]。当然运行 mybatis-generator 生成的代码还需要下载 mybatis 的 jar 包[本例使用的是 3.0.2 版本],和相关数据库的 jdbc [本文中使用的是MySql的jdbc] 。
 
2.要运行 generator ,需要给 generator 提供一个配置文件,指定其生成的数据库的相关信息
 
 以oracle数据库为例子的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="E:/path/to/local/repo/com/oracle/ojdbc14/10.2.0.3.0/ojdbc14-10.2.0.3.0.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="oracle.jdbc.driver.OracleDriver"
                        connectionURL="jdbc:oracle:thin:@192.168.2.141:1515:apptest" userId="zj100_apptest"
                        password="zj100">
        </jdbcConnection>
        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer true,把JDBC DECIMAL 和
            NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!---Java 实体的生成 -->
        <!-- targetProject:自动生成代码的位置 -->
        <javaModelGenerator targetPackage="cn.sh.zj100.model"
                            targetProject="D:\workspace\mybatis-generator-core-1.3.2-bundle\mybatis-generator-core-1.3.2\lib">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="fasle"/>
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="false"/>
        </javaModelGenerator>
  
        <!--sqlMapper XML文件的生成信息,包括生成路径等 -->
        <sqlMapGenerator targetPackage="sqlmap"
                         targetProject="D:\workspace\mybatis-generator-core-1.3.2-bundle\mybatis-generator-core-1.3.2\lib">
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>
        <!--应用接口的生成信息 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="cn.sh.zj100.dao" implementationPackage="cn.sh.zj100.dao.impl"
                             targetProject="D:\workspace\mybatis-generator-core-1.3.2-bundle\mybatis-generator-core-1.3.2\lib">
            <property name="enableSubPackages" value="false"/>
            <property name="methodNameCalculator" value="extended"/>
        </javaClientGenerator>
        <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 -->
  
        <!--<table schema="APPTEST" tableName="BBS_FORUMS" enableInsert="true"
        enableSelectByPrimaryKey="true" enableSelectByExample="false"
        enableUpdateByPrimaryKey="true" enableDeleteByPrimaryKey="false"
         enableDeleteByExample="false" enableCountByExample="false"
         enableUpdateByExample="false" modelType="flat"/>-->
        <table schema="APPTEST" tableName="BBS_FORUMS" enableInsert="true" enableSelectByPrimaryKey="true"
               enableSelectByExample="false" enableUpdateByPrimaryKey="true" enableDeleteByPrimaryKey="false"
               enableDeleteByExample="false" enableCountByExample="false" enableUpdateByExample="false"
               modelType="flat"/>
    </context>
</generatorConfiguration>
 
 
===================================
 
 以mysql数据库为例子的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="D:\dbjars\mysql\mysql-connector-java-5.1.10-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/jchome" userId="root"
                        password="root">
        </jdbcConnection>
        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer true,把JDBC DECIMAL 和
            NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!---Java 实体的生成 -->
        <!-- targetProject:自动生成代码的位置 -->
        <javaModelGenerator targetPackage="cn.sh.zj100.model"
                            targetProject="D:\workspace\mybatis-generator-core-1.3.2-bundle\mybatis-generator-core-1.3.2\lib">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="fasle"/>
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="false"/>
        </javaModelGenerator>
 
        <!--sqlMapper XML文件的生成信息,包括生成路径等 -->
        <sqlMapGenerator targetPackage="sqlmap"
                         targetProject="D:\workspace\mybatis-generator-core-1.3.2-bundle\mybatis-generator-core-1.3.2\lib">
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>
        <!--应用接口的生成信息 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="cn.sh.zj100.dao" implementationPackage="cn.sh.zj100.dao.impl"
                             targetProject="D:\workspace\mybatis-generator-core-1.3.2-bundle\mybatis-generator-core-1.3.2\lib">
            <property name="enableSubPackages" value="false"/>
            <property name="methodNameCalculator" value="extended"/>
        </javaClientGenerator>
        <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 -->
        <table schema="jchome" tableName="jchome_ad" domainObjectName="Ad" enableInsert="true"
               enableSelectByPrimaryKey="true"
               enableSelectByExample="false"
               enableUpdateByPrimaryKey="false"
               enableDeleteByPrimaryKey="false"
               enableDeleteByExample="false"
               enableCountByExample="false"
               enableUpdateByExample="false" modelType="flat">
            <generatedKey column="uid" sqlStatement="MySql" identity="true"/>
        </table>
 
    </context>
</generatorConfiguration>
 
===================================

这个配置文件提供了 mybatis-generator所需要的参数信息:

  * 其中classPathEntry 是引用的jdbc的类路径,这里将jdbc jar和generator的jar包放在一起了;
  * commentGenerator 是用来除去时间信息的,这在配合类似subversion的代码管理工具时使用很有效,因为可以减少没有必要的注释迁入;
  * jdbcConnection是指定的jdbc的连接信息;
  * javaTypeResolver式类型转换的信息,这里并没有用到;
  * javaModelGenerator是模型的生成信息,这里将指定这些Java model类的生成路径;
  * sqlMapGenerator是mybatis 的sqlMapper XML文件的生成信息,包括生成路径等;
  * javaClientGenerator是应用接口的生成信息;
  * table是用户指定的被生成相关信息的表,它必须在指定的jdbc连接中已经被建立。

 
3.修改你的gererator.bat文件:
@echo off
echo==========mybatis开始生成代码================

java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite

@echo==========mybatis生成代码完毕================
 
4.执行bat文件,即生成相关的代码
 
分享到:
评论

相关推荐

    mybatis generator Myeclipse插件

    文件名"mybatisgenerator_myeclipse10-sql-oracle"可能表示这是一个适用于Myeclipse 10版本的Mybatis Generator插件,并且重点支持Oracle数据库的配置和使用。"sql"可能代表SQL数据库的通用性,而"oracle"则强调了对...

    mybatis generator eclipse插件的安装

    MyBatis Generator(MBG)是一款强大的自动化代码生成工具,它可以极大地提高开发效率,通过配置文件自动生成MyBatis的映射文件、实体类以及DAO层的Java代码。Eclipse作为广泛使用的Java集成开发环境,提供了对MBG...

    eclipse Mybatis generator 1.3.7 中文注释 插件核心包

    1、这是Eclipse MyBatis generator 1.3.7插件的核心包 2、首先到Eclipse中下载 MyBatis Generator 1.3.7插件,下载完按步骤进行安装 打开Help &gt; Eclipse Marketplace &gt; Search &gt; 输入框输入 MyBatis Generator ...

    通过mybatis generator反向工程生成pojo及mapper类 带序列化插件

    MyBatis Generator是一款强大的自动化代码生成工具,它可以帮助开发者快速生成Java实体类(POJO)、Mapper接口和XML映射文件,极大地提高了开发效率。在本主题中,我们将深入探讨如何利用MyBatis Generator进行反向...

    mybatisgenerator.zip

    mybatis generator 是根据已创建的数据库数据表生成相映的 entity ,dao ,daoImpl ,sqlmap。 标签:mybatis

    MybatisGenerator代码生成器(可查询指定字段)

    MybatisGenerator本身是没有提供查询指定字段的,例如数据库有5个字段,我想查询其中3个字段的全部记录,这是做不到的。经过研究MybatisGenerator实现原理,在保证原有功能的基础上,实现了生成查询指定字段的相关...

    eclipse mybatis generator插件及使用

    Eclipse MyBatis Generator插件是一款强大的自动化代码生成工具,它极大地简化了开发过程中与数据库交互的代码编写工作。MyBatis Generator可以帮助开发者自动生成Java实体类、Mapper接口及XML配置文件,从而节省了...

    Mybatis Generator将tinyint映射成Integer的解决办法.pdf

    在使用MyBatis Generator生成Java DAO层代码时,可能会遇到将数据库中的tinyint类型映射成Integer类型的问题。这个问题在上述描述中得到了详细的解释。首先,我们来看一下问题的背景和原因。 在Java环境中,使用...

    MybatisGenerator

    MybatisGenerator是一款强大的工具,它专门用于自动化生成Mybatis框架中的关键组件,包括Mapper映射文件、DAO接口、Model实体类等。这个工具极大地提升了开发效率,减少了手动编写这些重复性代码的时间,使得开发者...

    mybatis generator mysql

    3. **运行MBG**:在Java代码中,通过调用`org.mybatis.generator.api.MyBatisGenerator`类的静态方法来执行生成过程。也可以通过命令行执行MBG,前提是配置文件和JAR文件在同一目录下。 4. **生成的代码**:MBG会...

    MyBatis Generator eclipse 插件 修改版【有中文注释】

    eclipse 插件,使用MyBatis Generator 可自动生成数据库对应的bean(有中文注释),mapper.xml和mapper dao 接口文件,可直接使用查询数据库,此插件在eclipse mars.2 版本下亲测可用,

    MybatisGenerator.rar

    MybatisGenerator是一个强大的工具,主要用于简化Mybatis框架的模型、Mapper接口及XML配置文件的创建。这个工具基于Java,能够通过数据库元数据自动生成相关的Java源代码,极大地提高了开发效率,尤其是在处理大量的...

    MyBatis Generator工具

    MyBatis Generator是一款强大的自动化工具,它极大地简化了在使用MyBatis框架时的数据访问层(DAL)代码编写工作。通过配置XML文件,Generator能够自动生成Java实体类、Mapper接口及实现类、XML配置文件等,从而极大地...

    mybatisGenerator-master

    MybatisGenerator是一款强大的Java工具,它能够帮助开发者自动地逆向工程数据库,生成Model、DAO(数据访问对象)以及Mapper接口和XML配置文件。这款工具极大地提升了开发效率,避免了手动编写这些基础代码的繁琐...

    Mybatis Generator eclipse 插件

    Mybatis Generator是一款强大的自动化代码生成工具,主要用于简化Mybatis框架的使用,它可以自动生成SQL映射文件、Mapper接口、实体类以及DAO实现类等代码,极大地提高了开发效率。在Eclipse环境中,我们可以安装...

    Mybatis Generator 代码生成工具

    Mybatis Generator 是一款强大的自动化代码生成工具,它能够极大提高开发效率,特别是在处理与数据库交互的 CRUD(创建、读取、更新、删除)操作时。这个工具能够自动生成 Mybatis 的 XML 映射文件、实体类以及 ...

    mybatis generator eclipse plugin

    Mybatis Generator 是一款强大的工具,它能够自动化地生成 Mybatis 的映射文件、实体类以及相关的 SQL 映射代码,极大地提高了开发效率。Eclipse Mybatis Generator 插件是这个工具在 Eclipse 开发环境中的集成,让...

    Mybatis Generator逆向工程

    Mybatis Generator是一款强大的工具,它能够帮助Java开发者自动地生成Mybatis框架的Mapper接口、XML配置文件以及实体类,极大地提升了开发效率。逆向工程,简单来说,就是根据已有的数据库结构来生成相应的代码,...

    mybatisGenerator

    1. **mybatisGenerator.bat**:这是一个批处理脚本,通常用于运行MBG生成器。在Windows环境下,用户可以通过双击这个文件来启动生成过程。脚本内部可能包含了调用Java命令行并传递MBG配置文件路径的指令。 2. **...

Global site tag (gtag.js) - Google Analytics