`
jw1314
  • 浏览: 27492 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

MyBatisGenerator

    博客分类:
  • J2EE
阅读更多
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
分享到:
评论
2 楼 dafeicao 2013-04-01  
targetPackage
总是找不到的那个问题:

官方提示:
The targetProject attribute of the generator configurations is interpreted differently when running with Maven. If set to the special value "MAVEN" (case sensitive), then targetProject will be set to the plugin's output directory, and that directory will be created if it doesn't already exist. If not set to "MAVEN", then targetProject will be interpreted as normal by MBG - it must be set to a directory that already exists.

我英文不是太好翻译下来的大概意思就是maven会自己找项目地址. 如果你指到一个存在的地址.就会存进去.
我尝试写targetProject="src/main/java"   结果就可以生成到对应位置了.
1 楼 output 2012-04-27  

相关推荐

    mybatis generator

    Mybatis Generator是一款强大的工具,它为开发者自动化生成Mybatis的Mapper接口、XML映射文件以及实体类,大大减轻了在使用Mybatis时手动编写这些文件的工作负担。在Java开发环境中,ORM(Object-Relational Mapping)...

    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...

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

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

    mybatisgenerator.zip

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

    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 ...

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

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

    eclipse mybatis generator插件及使用

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

    MybatisGenerator

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

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

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

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

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

    MybatisGenerator.rar

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

    mybatis generator mysql

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

    mybatisGenerator-master

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

    Mybatis Generator 代码生成工具

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

    Mybatis Generator eclipse 插件

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

    mybatis generator eclipse plugin

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

    Mybatis Generator逆向工程

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

    MyBatis Generator工具

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

    mybatis generator 自定义注释生成

    MyBatis Generator是一款强大的自动化工具,能够帮助开发者自动生成MyBatis框架中的Model、Mapper接口以及对应的XML配置文件。在实际开发中,手动编写这些文件不仅耗时,而且容易出错,而MyBatis Generator通过配置...

Global site tag (gtag.js) - Google Analytics