`
longgangbai
  • 浏览: 7342882 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用MyBatis Generator生成DAO

阅读更多

虽然MyBatis很方便,但是想要手写全部的mapper还是很累人的,好在MyBatis官方推出了自动化工具,可以根据数据库和定义好的配置直接生成DAO层及以下的全部代码,非常方便.

 

需要注意的是,虽然自动化工具需要一个配置文件,但是MyBatis的配置文件仍然不能少,自动化工具的配置文件用于对生成的代码的选项进行配置,MyBatis的配置文件才是运行时的主要配置文件.

 

这个工具叫做MyBatis_Generator,不过比较扯淡的是官方虽然推出了这个工具,不过在google code上面看到的工具仅仅是一个jar包而已,在用这个工具的时候需要在cmd下面执行命令才能根据配置文件生成所需的各种文件,下面是该jar的下载地址:

http://mybatis.googlecode.com/files/mybatis-generator-core-1.3.1-bundle.zip

 

后来我仔细挖掘了Google Code上的东西,发现官方提供的也有可以直接安装到Eclipse里面的插件,唯一让人不爽的是这个插件只能安装在Eclipse3.6以上的版本,目前大部分人用的都是3.5.2或者更低的版本,给个地址吧,想方便点的可以试试,请确认你的eclipse的版本或者Myeclipse所用的eclipse版本是3.6以上的,否则无法安装,下面是eclipse更新地址:

http://mybatis.googlecode.com/svn/sub-projects/generator/trunk/eclipse/UpdateSite/

 

下面我要说的是针对cmd下操作的方法,插件操作方法超级简单和abator(ibatis 2.X的插件)的使用方法一样.

 

在类路径下面建立generatorConfig.xml文件,这个文件配置各种生成选项,

 

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>
    <properties   url="file:///D:/softcode/mybatis.properties" />
	<classPathEntry location="${classPath}" />
	<context id="MBG" targetRuntime="MyBatis3" defaultModelType="conditional">	<!--targetRuntime 此属性用于指定生成的代码的运行目标。 -->
		<plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" />
		<!-- 
		<plugin type="org.mybatis.generator.plugins.MapperConfigPlugin">
			<property name="fileName" value="GeneratedMapperConfig.xml" />
			<property name="targetPackage" value="com.easyway.app.core.mgr" />
			<property name="targetProject" value="../java" />
		</plugin>
		 -->
		<plugin type="org.mybatis.generator.plugins.RenameExampleClassPlugin">    
		    <property name="searchString" value="Example$" />    
		    <property name="replaceString" value="Criteria" />    
		</plugin>    
		<commentGenerator>
			<property name="suppressAllComments" value="false" />
			<property name="suppressDate" value="true" />  
		</commentGenerator>
		
		<jdbcConnection driverClass="${driverClass}" connectionURL="${connectionURL}" userId="${userName}" password="${password}"/>
		
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />											<!-- 类型解析器 -->
		</javaTypeResolver>

		<javaModelGenerator targetPackage="${modelPackage}" targetProject="../java">	<!-- 实体类 -->
			<property name="enableSubPackages" value="true" />
			<property name="trimStrings" value="true" />  
		</javaModelGenerator>

		<sqlMapGenerator targetPackage="${sqlMapperPackage}" targetProject="../resources">	<!-- 实体类SQL映射文件 -->
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>

		<javaClientGenerator type="XMLMAPPER" targetPackage="${daoMapperPackage}" targetProject="../java">
			<property name="enableSubPackages" value="true" />											<!-- 接口 -->
		</javaClientGenerator>


		<table  catalog="TBS"   tableName="TEST_TEST" domainObjectName="LoginLog"
			enableCountByExample="true" enableUpdateByExample="true"
			enableDeleteByExample="true" enableSelectByExample="true"
			selectByExampleQueryId="true">
		</table>

	</context>
</generatorConfiguration>
 
 

需要注意的是上面的targetProject此处应写成文件路径的形式,而不是项目路径,指定类文件生成到src的org.qiuqiu.vo包下面,如果是用插件的话targetProject直接写项目名称即可,比如直接写MyBatis_Generator.

上面我仅仅简单的写了些注释,稍后我会将详细的配置选项以附件的形式发上来

 

然后就开始要生成文件了,打开cmd,进入项目路径的lib下面,也就是含有mybatis-generator-core-1.3.1.jar文件的目录中,执行以下命令:

 

classPath=ojdbc14-10.2.0.2.jar

targetProject=xxxxx
driverClass=oracle.jdbc.driver.OracleDriver

connectionURL=jdbc:oracle:thin:@10.100.102.8:1521:xxx
userName=xxx

password=123456


modelPackage=xxxxxxxxxxxxxxxxxxxxxxxxxx
sqlMapperPackage=mybatis/mappers

daoMapperPackage=xxxxxxxxxxxxx

 maven自动生成配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>generator</groupId>
  <artifactId>generator</artifactId>
  <version>0.0.1-SNAPSHOT</version>
   <properties>
       <configurationFile>generatorConfig.xml</configurationFile>
   </properties>
   
  <build>
  	<plugins>
  		 <plugin>
      	  <groupId>org.mybatis.generator</groupId>
      	  <artifactId>mybatis-generator-maven-plugin</artifactId>
          <version>1.3.0</version>
          <configuration>
	          <configurationFile>generatorConfig.xml</configurationFile>
	          <verbose>true</verbose>  
	          <overwrite>true</overwrite>
          </configuration>
          <executions>
            <execution>
              <id>Generate MyBatis Artifacts</id>
              <goals>
                <goal>generate</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
  	</plugins>
  </build>
</project>

 

Cmd
  1. java -jar mybatis-generator-core-1.3.1.jar -configfile ../src/generatorConfig.xml -overwrite

OK了,刷新一遍目录,可以看到vo,dao,xml全都自动生成了.

 

附件中有一个示例项目已经含有了所需要的全部包,

另一个附件是配置选项的官方说明文档

再奉上一个MyBatis的官方eclipse插件,可以安装在eclipse3.6版本以上

分享到:
评论
1 楼 gengen201314 2014-04-19  
哪里有附件

相关推荐

    Mybatis入门实例(三)——使用MyBatis Generator生成DAO

    在本篇教程中,我们将深入探讨"Mybatis入门实例(三)——使用MyBatis Generator生成DAO"的主题。MyBatis Generator(MBG)是一个强大的工具,它可以自动生成MyBatis框架所需的代码,包括数据访问对象(DAO)、实体类...

    mybatis generator自动生成DAO、Bean、MapperXML等文件

    MyBatis Generator(MBG)是一款强大的自动化代码生成工具,专为MyBatis框架设计,能够自动生成DAO层、实体Bean以及Mapper XML文件,极大地提高了开发效率。在使用MBG时,用户只需要进行简单的配置,就可以自动生成...

    mybatis-generator自动生成代码[增加Service的生成]

    标题 "mybatis-generator自动生成代码[增加Service的生成]" 指的是MyBatis Generator(MBG)这一工具,它能够根据数据库表结构自动产生Java持久层代码,大大减轻了开发人员的手动编码工作。在描述中提到"增加Service...

    Mybatis-Generator自动生成Dao、Model、Mapping直接可运行

    这个压缩包文件"**MybatisGenerator**"提供了一个预先配置好的环境,使得用户只需进行简单的设置就可以直接运行。 1. **Mybatis-Generator简介** Mybatis-Generator是Mybatis框架的一个插件,能够根据数据库表结构...

    Mybatis Generator 代码生成工具

    Mybatis Generator 是...总结来说,Mybatis Generator 是一个高效实用的工具,通过简单的配置就能自动生成与数据库交互的代码,适用于使用 MySQL 的项目。使用它可以极大地提高开发效率,降低出错概率,并且易于维护。

    使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件(转)

    Mybatis-Generator是一款强大的自动化工具,它可以帮助Java开发者自动生成Mybatis的相关代码,包括DAO(Data Access Object)、Model以及Mapper XML映射文件。这极大地提高了开发效率,避免了手动编写这些重复性工作...

    mybatis-generator生成sqlserver数据库Bean、Dao、Mapper代码工具

    MyBatis Generator(MBG)是一款强大的自动化代码生成工具,主要针对MyBatis框架,能够帮助开发者自动生成Java Bean、DAO层以及Mapper XML文件,极大地提高了开发效率,减少了手动编写这些重复性工作的时间。...

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

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

    mybatis generator代码生成器

    MyBatis Generator是一个可以用来生成Mybatis dao,entity,Mapper文件的一个工具,在项目的过程中可以省去很多重复的工作,我们只要在MyBatis Generator的配置文件中配置好要生成的表名与包名,然后运行一条命令就会...

    mybatis_generator使用手册

    MyBatis Generator 使用手册将指导用户如何使用 MyBatis Generator 生成代码,包括安装、配置、使用等方面的内容。该手册适合初学者和有经验的开发者,旨在帮助用户快速掌握 MyBatis Generator 的使用。 二、 安装 ...

    使用MyBatis Generator自动生成MyBatis代码.docx

    使用 MyBatis Generator 自动生成 MyBatis 代码 MyBatis Generator 是一个流行的开源工具,用于根据数据库表结构自动生成 MyBatis 的映射文件、实体类、DAO 层和 Service 层等代码。下面是使用 MyBatis Generator ...

    Mybatis--Generator生成例子

    Mybatis Generator是一个强大的工具,它能够自动生成Mybatis的映射文件、Java模型类和DAO接口,极大地简化了开发过程,降低了手动编写这些重复代码的工作量。本篇将深入探讨Mybatis Generator的使用方法和核心知识点...

    mybatis generator生成器

    MyBatis Generator(MBG)是一款强大的工具,用于自动生成MyBatis的SQL映射文件、Java模型类以及DAO接口。这款工具极大地提高了开发效率,减少了手动编写这些基础代码的工作量,使得开发者能够更专注于业务逻辑的...

    MyBatis Generator + PostgreSQL 逆向工程单独使用包及使用说明.rar

    网上很多介绍的都是mysql版本的,而且介绍的都是在开发环境idea或eclipse中怎么使用,这里整理的是PostgerSQL版本的,而且是单独使用的方法(附jar包,修配置文件直接可以使用),生成dao层文件后,把需要的代码拷贝...

    mybatisGenerator 支持生成类注释,属性注释,dao层注释

    "mybatis-generator-plus"可能是一个MBG的增强版或者扩展版,它可能提供了更多的功能或者优化了MBG的默认行为,比如增加了对生成类、属性、DAO层注释的更多控制,或者提供了更丰富的模板支持,使得生成的代码更加...

    mybatis generator Myeclipse插件

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

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

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

    使用Mybatis Generator自动生成Mybatis相关代码

    Mybatis Generator是一款强大的工具,它能够自动生成Mybatis的相关代码,包括Mapper接口、XML映射文件、实体类以及DAO层的实现代码,极大地提高了开发效率,减少了手动编写这些重复性工作的繁琐。本篇文章将深入探讨...

    使用MyBatis Generator插件自动生成映射文件

    MyBatis Generator(MBG)是一款强大的Java工具,它能够自动生成MyBatis相关的代码,包括DAO接口、Mapper映射文件以及实体类,极大地提高了开发效率。本篇将详细介绍如何利用MyBatis Generator来实现自动代码生成,...

Global site tag (gtag.js) - Google Analytics