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

mybatis-generator 代码自动生成工具

阅读更多

    今天来记录下mybatis-generator插件自动生成xml mapper和model还有dao接口,这样我们就可以把精力放在业务代码上,而不需要关心数据库的具体操作。

    这里我使用eclipse作为开发工具,采用maven来构建项目。

1. 编写pom.xml文件

      这里只有3个jar文件,数据库使用mysql

      

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.jacksoft.mybatis</groupId>
  <artifactId>mybatis-generator</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  <properties>
		<mybatis-generator.version>1.3.1</mybatis-generator.version>
		<mysql.version>5.1.13</mysql.version>
		<mybatis.version>3.0.3</mybatis.version>
	</properties>
	
  <dependencies>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>${mysql.version}</version>
		</dependency>
	
		<dependency>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-core</artifactId>
			<version>${mybatis-generator.version}</version>
		</dependency>

		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>${mybatis.version}</version>
		</dependency>
	</dependencies>
	
	<build>
		<finalName>mybatis-generator</finalName>
	<plugins>
		<plugin>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-maven-plugin</artifactId>
			<version>${mybatis-generator.version}</version>
			<dependencies>
			<!-- 数据库驱动  -->
				<dependency>
					<groupId>mysql</groupId>
					<artifactId>mysql-connector-java</artifactId>
					<version>${mysql.version}</version>
				</dependency>
		
			</dependencies>
			<!-- 自动生成 -->
			<executions>
				<execution>
					<id>Generate MyBatis Artifacts</id>
					<goals>
						<goal>generate</goal>
					</goals>
					<configuration>
						<configurationFile>src/main/resources/config/mysqlGeneratorConfig.xml</configurationFile>
						<overwrite>true</overwrite>
						<jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver>
						<jdbcURL>jdbc:mysql://localhost:3306/demo</jdbcURL>
						<jdbcUserId>root</jdbcUserId>
						<jdbcPassword>hwroot</jdbcPassword>
					</configuration>
				</execution>
			</executions>
		</plugin>
	
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<configuration>
				<source>1.5</source>
				<target>1.5</target>
				<encoding>UTF-8</encoding>
			</configuration>
		</plugin>

		</plugins>
	</build>
</project>

   我这里通过配置插件,让maven在执行install的时候,自动重新生成代码,因为生成的代码中包含mybatis包中的类,所以也需要引入该包。

2.创建mysqlGeneratorConfig.xml文件

    在src/main/resources/config目录下面创建mysqlGeneratorConfig.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> 
	 
	<context id="mysqlTables" targetRuntime="MyBatis3">
		<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/demo"
		 userId="root" password="hwroot"/>
		
		<!-- 指定生成的类型为java类型,避免数据库中number等类型字段 -->
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false"/>
		</javaTypeResolver>
		
		<!-- 生成model模型,对应的包,存放位置可以指定具体的路径,如/ProjectName/src,也可以使用MAVEN来自动生成 -->
		<javaModelGenerator targetPackage="com.jacksoft.mybatis.generator.model" targetProject="MAVEN">
			<property name="enableSubPackages" value="true"/>
		</javaModelGenerator>
		
		<!--对应的xml mapper文件  -->
		<sqlMapGenerator targetPackage="com.jacksoft.mybatis.generator.dao" targetProject="MAVEN">
			<property name="enableSubPackages" value="true"/>
		</sqlMapGenerator>
		
		<!-- 对应的dao接口 -->
		<javaClientGenerator type="XMLMAPPER" targetPackage="com.jacksoft.mybatis.generator.dao" targetProject="MAVEN">
			<property name="enableSubPackages" value="true"/>
		</javaClientGenerator>
		
		
		<table tableName="user" domainObjectName="User"/>
	</context>
</generatorConfiguration>

3. 生成代码

    到这里就差不多了,保存为该文件后,实际上就已经开始生成代码了,但是在source code界面,还是看不到代码,我们通过刷新或者 右键项目-->Maven-->Update Project Configuration

    这样就把生成的代码找到了,具体如下图:



   对应的mapper,xml,model,example都生成好了,是不是很方便啊?

   但是该插件默认不带分页功能,分页插件将在下一次记录。

 

 

对于自己写的插件无法初始化的问题,可以参照:

http://code.google.com/p/mybatis/issues/detail?id=343

也就是需要将自己的插件在配置plugin的时候加入,如:

<plugin>
    			<groupId>org.mybatis.generator</groupId>
    			<artifactId>mybatis-generator-maven-plugin</artifactId>
    			<version>${mybatis-generator.version}</version>
    			<dependencies>
    				<dependency>
    					<groupId>mysql</groupId>
    					<artifactId>mysql-connector-java</artifactId>
    					<version>${mysql.version}</version>
    				</dependency>
    				<dependency>
    					 <groupId>com.jacksoft</groupId>
						  <artifactId>mybatis-plugins-paging</artifactId>
						  <version>${mybatis.paging.version}</version>
    				</dependency>
    			</dependencies>

 

  • 大小: 12 KB
3
6
分享到:
评论
10 楼 xanodu 2013-12-12  
大佬,<configuration>放在<execution>内部不生效,放在<plugin>的内部才生效。
9 楼 nothing.whoami 2013-08-26  
zhoujiangzi 写道
nothing.whoami 写道
mvn compile 时就报错了

报什么错误啊?

已经解决了,谢谢!
8 楼 zhoujiangzi 2013-08-21  
nothing.whoami 写道
mvn compile 时就报错了

报什么错误啊?
7 楼 nothing.whoami 2013-08-01  
mvn compile 时就报错了
6 楼 zhoujiangzi 2013-05-17  
zhangt882 写道
楼主,写完pom.xml和mysqlGeneratorConfig.xml之后是使用maven install吗?我按你说那个他没有自动生成代码啊~

你是在eclipse里面完成的吗?如果是的话,需要刷新下,因为他不能直接到source folder里面去
5 楼 zhangt882 2013-05-17  
楼主,写完pom.xml和mysqlGeneratorConfig.xml之后是使用maven install吗?我按你说那个他没有自动生成代码啊~
4 楼 zhoujiangzi 2013-05-16  
tywo45 写道
zhoujiangzi 写道
tywo45 写道
不是有现成的么?

你说的现成的是指直接用他提供的jar吗?

jar,maven-plugin都有

恩 那样也可以,我这样做只是为了方便生成jar文件,便于使用
3 楼 tywo45 2013-05-16  
zhoujiangzi 写道
tywo45 写道
不是有现成的么?

你说的现成的是指直接用他提供的jar吗?

jar,maven-plugin都有
2 楼 zhoujiangzi 2013-05-16  
tywo45 写道
不是有现成的么?

你说的现成的是指直接用他提供的jar吗?
1 楼 tywo45 2013-05-16  
不是有现成的么?

相关推荐

    mybatis-generator-1.3.2 代码生成

    【标题】"mybatis-generator-1.3.2 代码生成" 涉及到的是一个基于MyBatis框架的代码生成工具,主要用于自动化地创建MyBatis的SQL映射文件、Mapper接口、Mapper XML文件以及实体类。这个工具极大地提高了开发效率,...

    JAVA-mybatis-generator代码自动生成工具

    **JAVA - MyBatis Generator 代码自动生成工具** MyBatis Generator(MBG)是一款强大的Java工具,能够根据数据库表结构自动产生Model类、Mapper接口和XML映射文件,极大地提高了开发效率。这款工具适用于Java...

    mybatis-generator 代码生成工具UI

    标题中的“mybatis-generator 代码生成工具UI”指的是 MBG 提供了一个图形用户界面(GUI)版本,使得操作更为直观和便捷。通常,MBG 使用 XML 配置文件来定义生成规则,但有了 GUI,用户可以直接在界面上进行配置,...

    mybatis-generator-mysql 代码自动生成工具

    mybatis-generator-mysql 代码自动生成工具里面有具体的描述 https://blog.csdn.net/tnt596/article/details/80279797

    mybatis-generator eclipse自动生成代码插件离线安装包

    MyBatis Generator(MBG)是一款强大的自动化代码生成工具,专为简化MyBatis框架的使用而设计。它能够根据数据库表自动生成Java实体类、Mapper接口和XML配置文件,大大提高了开发效率。Eclipse是广受欢迎的Java集成...

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

    总结来说,MyBatis Generator是一个强大的代码生成工具,它能自动生成包括Service在内的持久层代码,大大简化了开发过程。通过定制配置和模板,开发者可以根据项目需求调整生成的代码结构和风格,提升开发效率,同时...

    mybatis-generator代码自动生成器(带根据数据表字段注释生成实体类的中文注释功能)

    Mybatis-generator自动生成代码工具,基于mybatis-generator-core-1.3.7.jar,一键生成数据库表对应的entity、dao、mapper文件,并根据数据库表字段注释生成实体类的中文注释,免去自写mapper、dao、实体类的步骤

    Mybatis-Generator自动生成Dao、Model、Mapping相关文件,不依赖maven,直接生成

    Mybatis-Generator是一款强大的工具,它能够帮助Java开发者自动生成Mybatis的DAO层、Model层以及对应的XML映射文件,极大地提高了开发效率,减少了手动编写这些基础代码的时间。这款工具的特点在于,它并不依赖于...

    mybatis逆向工程代码生成工具mybatis-generator-core-1.3.2-bundle.zip

    MyBatis Generator(MBG)是一个强大的工具,用于自动生成MyBatis的DAO层、XML映射文件以及对应的Java Bean类。它极大地简化了开发工作,使得开发者无需手动编写这些重复性的代码,从而能更专注于业务逻辑的实现。在...

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

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

    mybatis-generator-gui

    总的来说,mybatis-generator-gui是一个便捷的开发工具,通过图形界面简化了MyBatis的Mapper文件生成过程,提高了开发效率,同时提供了数据库类的自动生成功能,使开发者能更专注于业务逻辑的实现。对于使用MyBatis...

    springboot+mybatis-generator.rar

    接下来,我们来看MyBatis-Generator,这是一个强大的代码生成工具,它可以自动生成MyBatis的Mapper接口、XML配置文件以及实体类,从而减轻开发者的工作负担。MyBatis-Generator允许开发者通过配置文件定义数据库连接...

    mybatis-generator-gui自动生成工具

    Mybatis Generator是一个强大的代码生成器,能够自动生成Java实体类、Mapper接口、Mapper XML文件以及DAO层的实现类。通过配置XML文件,你可以定制生成规则,如数据库表名、字段名、是否生成getter和setter方法等。...

    mybatis-generator-core-1.4.0-bundle.zip

    MyBatis Generator (MBG) 是一个强大的工具,它能够自动生成 MyBatis 映射器接口、XML 映射文件以及实体类,极大地减少了开发人员的手动编码工作。`mybatis-generator-core-1.4.0-bundle.zip` 是 MBG 的一个版本包,...

    Mybatis-Generator mybatis代码生成工具增强版

    Mybatis-Generator是一款强大的代码生成工具,用于自动化创建Mybatis框架相关的Java源代码,包括实体类、Mapper接口、XML映射文件等。它极大地提高了开发效率,减少了手动编写重复代码的工作量。在这个增强版中,它...

    mybatis代码自动生成工具mybatis-generator-core-1.3.2

    Mybatis Generator是一款强大的自动化代码生成工具,用于简化Mybatis框架的初期配置和日常开发工作。在Java开发中,它能够自动生成Mybatis的Mapper接口、XML映射文件、Model实体类以及Service层代码,极大地提高了...

Global site tag (gtag.js) - Google Analytics