MyBatis Generator(MBG)是为MyBatis和iBATIS生成代码的工具。它可以生成
1、Java POJOs that match the table structure,即java Model。
2、MyBatis/iBATIS Compatible SQL Map XML Files.即SQLMapper文件。
3、A mapper interface that works with the MyBatis 3.x mapper infrastructure。即MyBatis3的DAO操作接口java。
MBG工具有5种方式运行,1、命令行方式,2、ant方式,3、Maven方式,4、基于xml配置的java方式,5、基于java配置的java方式。
我通过ant方式去实现了MBG,把操作的经验分享给大家。MBG有一个配置文件generatorConfig.xml。在里面设置连接数据库配置、javaModel、sqlMap、javaClient,table。
现在我大概说一下,配置内容。
<?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用于设置MBG的classPath,location可以等于只包含了数据库驱动的jar或zip路经 也可以是一个包含驱动的目录。它是一个可选的元素。 -->
<classPathEntry location="c:/ojdbc14.jar" />
<!-- targetRuntime代码生成目标,默认是MyBatis3,可以是Ibatis2Java2或者Ibatis2Java5 -->
<context id="DB2Tables" targetRuntime="MyBatis3">
<!-- 数据库连接属性,没什么好说 -->
<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:ZFGJJ" userId="hr"
password="hr">
</jdbcConnection>
<!-- 解决数字转换问题 -->
<javaTypeResolver>
<!-- 只有一个属于forceBigDecimals,默认false。如果字段精确超过0,生成BigDecimal 如果字段精确是0,总长度10-18生成Long;
如果字段精确是0,总长5-9生成Integer; 如果字段精确是0,总长小于5生成Short; 如果forceBigDecimals为true,统一生成BigDecimal -->
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- Model生成配置 targetPackage:生成包路径,可自己生成目录 targetProject:项目路经,我试过写成"\mybatis",但总是报找不到,不知原因。
我换成写绝对目录,行的通。 -->
<javaModelGenerator targetPackage="test.model"
targetProject="D:\Workspace\mylearn\mybatis\">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- sqlMap配置 重复配置,不再提示,下同 -->
<sqlMapGenerator targetPackage="test.xml"
targetProject="D:\Workspace\mylearn\mybatis\">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- DAO接口的生成 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="test.dao" targetProject="D:\Workspace\mylearn\mybatis\">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- table 数据库table的用户配置,用于配置哪些表需要。 domainObjectName:生成表前缀 -->
<table schema="hr" tableName="countries" domainObjectName="Customer">
<!-- 下面是不同数据库表特性 参见 mybatis-generator-core.**.jar 里面的 Database Specific
Information -->
<property name="ignoreQualifiersAtRuntime" value="true" />
<property name="runtimeTableName" value="FRED" />
<!-- 主键生成 如果用了这个 generatedKey ,MBG将在sqlmpper.xml里生成一个 selectKey元素在用在<insert>元素里 。 -->
<generatedKey column="COUNTRY_ID" sqlStatement="JDBC"
identity="true" />
</table>
</context>
</generatorConfiguration>
有了MBG的配置文件了,还要一个ant脚本。
<?xml version="1.0"?>
<project default="genfiles" basedir=".">
<path id="build">
<fileset dir="${basedir}\web\WEB-INF\lib">
<include name="*.jar" />
</fileset>
</path>
<property name="generated.source.dir" value="${basedir}" />
<target name="genfiles" description="Generate the files">
<taskdef name="mbgenerator" classname="org.mybatis.generator.ant.GeneratorAntTask">
<classpath refid="build" />
</taskdef>
<!--configfile:填你MBG文件名 -->
<mbgenerator overwrite="true" configfile="generatorConfig.xml" verbose="false">
<propertyset>
<propertyref name="generated.source.dir" />
</propertyset>
</mbgenerator>
</target>
</project>
ant的使用,这里就不用了。贴上生成的目录[img]
用这个MBG工具,生成后的sqlmapping文件。里面的sql语句相当的多。但在实际使用中,不是每个表都用这到这么多的SQL,所以实际项目中,最好还是生成大量需要的SQL语句。这就要使用去学习MBG的源码了。自己做成一个适合自己项目的MBG的Eclipse plug-in是最好的办法。
- 大小: 38.4 KB
分享到:
相关推荐
Mybatis Generator是一款强大的工具,它为开发者自动化生成Mybatis的Mapper接口、XML映射文件以及实体类,大大减轻了在使用Mybatis时手动编写这些文件的工作负担。在Java开发环境中,ORM(Object-Relational Mapping)...
文件名"mybatisgenerator_myeclipse10-sql-oracle"可能表示这是一个适用于Myeclipse 10版本的Mybatis Generator插件,并且重点支持Oracle数据库的配置和使用。"sql"可能代表SQL数据库的通用性,而"oracle"则强调了对...
MyBatis Generator(MBG)是一款强大的自动化代码生成工具,它可以极大地提高开发效率,通过配置文件自动生成MyBatis的映射文件、实体类以及DAO层的Java代码。Eclipse作为广泛使用的Java集成开发环境,提供了对MBG...
MyBatis Generator是一款强大的自动化代码生成工具,它可以帮助开发者快速生成Java实体类(POJO)、Mapper接口和XML映射文件,极大地提高了开发效率。在本主题中,我们将深入探讨如何利用MyBatis Generator进行反向...
mybatis generator 是根据已创建的数据库数据表生成相映的 entity ,dao ,daoImpl ,sqlmap。 标签:mybatis
1、这是Eclipse MyBatis generator 1.3.7插件的核心包 2、首先到Eclipse中下载 MyBatis Generator 1.3.7插件,下载完按步骤进行安装 打开Help > Eclipse Marketplace > Search > 输入框输入 MyBatis Generator ...
MybatisGenerator本身是没有提供查询指定字段的,例如数据库有5个字段,我想查询其中3个字段的全部记录,这是做不到的。经过研究MybatisGenerator实现原理,在保证原有功能的基础上,实现了生成查询指定字段的相关...
Eclipse MyBatis Generator插件是一款强大的自动化代码生成工具,它极大地简化了开发过程中与数据库交互的代码编写工作。MyBatis Generator可以帮助开发者自动生成Java实体类、Mapper接口及XML配置文件,从而节省了...
MybatisGenerator是一款强大的工具,它专门用于自动化生成Mybatis框架中的关键组件,包括Mapper映射文件、DAO接口、Model实体类等。这个工具极大地提升了开发效率,减少了手动编写这些重复性代码的时间,使得开发者...
eclipse 插件,使用MyBatis Generator 可自动生成数据库对应的bean(有中文注释),mapper.xml和mapper dao 接口文件,可直接使用查询数据库,此插件在eclipse mars.2 版本下亲测可用,
在使用MyBatis Generator生成Java DAO层代码时,可能会遇到将数据库中的tinyint类型映射成Integer类型的问题。这个问题在上述描述中得到了详细的解释。首先,我们来看一下问题的背景和原因。 在Java环境中,使用...
MybatisGenerator是一个强大的工具,主要用于简化Mybatis框架的模型、Mapper接口及XML配置文件的创建。这个工具基于Java,能够通过数据库元数据自动生成相关的Java源代码,极大地提高了开发效率,尤其是在处理大量的...
3. **运行MBG**:在Java代码中,通过调用`org.mybatis.generator.api.MyBatisGenerator`类的静态方法来执行生成过程。也可以通过命令行执行MBG,前提是配置文件和JAR文件在同一目录下。 4. **生成的代码**:MBG会...
MybatisGenerator是一款强大的Java工具,它能够帮助开发者自动地逆向工程数据库,生成Model、DAO(数据访问对象)以及Mapper接口和XML配置文件。这款工具极大地提升了开发效率,避免了手动编写这些基础代码的繁琐...
Mybatis Generator 是一款强大的自动化代码生成工具,它能够极大提高开发效率,特别是在处理与数据库交互的 CRUD(创建、读取、更新、删除)操作时。这个工具能够自动生成 Mybatis 的 XML 映射文件、实体类以及 ...
Mybatis Generator是一款强大的自动化代码生成工具,主要用于简化Mybatis框架的使用,它可以自动生成SQL映射文件、Mapper接口、实体类以及DAO实现类等代码,极大地提高了开发效率。在Eclipse环境中,我们可以安装...
Mybatis Generator 是一款强大的工具,它能够自动化地生成 Mybatis 的映射文件、实体类以及相关的 SQL 映射代码,极大地提高了开发效率。Eclipse Mybatis Generator 插件是这个工具在 Eclipse 开发环境中的集成,让...
Mybatis Generator是一款强大的工具,它能够帮助Java开发者自动地生成Mybatis框架的Mapper接口、XML配置文件以及实体类,极大地提升了开发效率。逆向工程,简单来说,就是根据已有的数据库结构来生成相应的代码,...
MyBatis Generator是一款强大的自动化工具,它极大地简化了在使用MyBatis框架时的数据访问层(DAL)代码编写工作。通过配置XML文件,Generator能够自动生成Java实体类、Mapper接口及实现类、XML配置文件等,从而极大地...
MyBatis Generator是一款强大的自动化工具,能够帮助开发者自动生成MyBatis框架中的Model、Mapper接口以及对应的XML配置文件。在实际开发中,手动编写这些文件不仅耗时,而且容易出错,而MyBatis Generator通过配置...