关闭

【java项目实践】在eclipse中使用利用mybatis-generator自动生成Model、Dao、mapping代码

标签: mybatis
3361人阅读 评论(0) 收藏 举报
分类:

       之前用MyBatis框架的时候,都是手敲的代码,就感觉到好麻烦的样子。今天学习了利用MyBatis Generator自动生成代码,那接下来我就来详细介绍一下MyBatis Generator配置过程及其使用方法。

      总结下该插件的使用及最佳实践。废话少说,直接上全过程:

 1. 安装MyBatis-Generator插件

     1.1、首先,你得有MyBatis Generator这个插件,本人是使用离线安装的方式进行安装的(当然你可以选择在eclipse中在线安装的方式进行安装)。 所以呢,离线安装MyBatis-Generator插件,下载地址:

     1.2、安装MyBatis-Generator插件
将下载的【mybatis-generator-eclipse-site-1.3.3.201606241937.zip】文件解压,如图:
              
将“features”、“plugins”拷贝到Eclipse的安装目录的相应目录中,重启Eclipse即可。
2、MyBatis-Generator的使用
重启Eclipse,然后在file-->new-->other中就能看到插件的是否配置成功,如图:

在工程项目src/main/resources中新建一个generatorConfig.xml文件(本人项目中了Maven,所以该文件放在resources下的generator中),如图:

generatorConfig.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 resource="mybatis-generate.properties" />

	<!-- 在MBG工作的时候,需要额外加载的依赖包 location属性指明加载jar/zip包的全路径 -->
	<classPathEntry location="${generate.connection.location}" />

	<context id="Mysql" targetRuntime="MyBatis3Simple"
		defaultModelType="flat">
		<!-- 自动识别数据库关键字,默认false,如果设置为true,根据SqlReservedWords中定义的关键字列表; 一般保留默认值,遇到数据库关键字(Java关键字),使用columnOverride覆盖 -->
		<property name="autoDelimitKeywords" value="false" />
		<!-- 生成的Java文件的编码 -->
		<property name="javaFileEncoding" value="UTF-8" />
		<!-- 格式化java代码 -->
		<property name="javaFormatter"
			value="org.mybatis.generator.api.dom.DefaultJavaFormatter" />
		<!-- 格式化XML代码 -->
		<property name="xmlFormatter"
			value="org.mybatis.generator.api.dom.DefaultXmlFormatter" />

		<!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; -->
		<property name="beginningDelimiter" value="`" />
		<property name="endingDelimiter" value="`" />

		<!-- 注释 -->
		<commentGenerator>
			<property name="suppressAllComments" value="false"></property>
			<property name="suppressDate" value="true"></property>
			<property name="javaFileEncoding" value="utf-8" />
			<property name="javaFormatter"
				value="org.mybatis.generator.api.dom.DefaultJavaFormatter"></property>
			<property name="xmlFormatter"
				value="org.mybatis.generator.api.dom.DefaultXmlFormatter"></property>
		</commentGenerator>

		<!-- 数据库连接 -->
		<jdbcConnection driverClass="${mysql.driverName}"
			connectionURL="${mysql.url}" userId="${mysql.username}" password="${mysql.password}">
		</jdbcConnection>

		<!-- java类型处理器 用于处理DB中的类型到Java中的类型,默认使用JavaTypeResolverDefaultImpl; 注意一点,默认会先尝试使用Integer,Long,Short等来对应DECIMAL和 
			NUMERIC数据类型; -->
		<javaTypeResolver
			type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl">
			<!-- true:使用BigDecimal对应DECIMAL和 NUMERIC数据类型 false:默认, scale>0;length>18:使用BigDecimal; 
				scale=0;length[10,18]:使用Long; scale=0;length[5,9]:使用Integer; scale=0;length<5:使用Short; -->
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>

		<javaModelGenerator targetPackage="${modelPackage}"
			targetProject="yihg-travel-api/src/main/java">
			<property name="enableSubPackages" value="false"></property>
			<property name="trimStrings" value="true"></property>
			<property name="constructorBased" value="false"></property>
			<property name="immutable" value="false" />
		</javaModelGenerator>

		<sqlMapGenerator targetPackage="${sqlMapperPackage}"
			targetProject="yihg-travel-api/src/main/resources">
			<!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>

		<javaClientGenerator targetPackage="${mapperPackage}"
			type="XMLMAPPER" targetProject="yihg-travel-api/src/main/java">
			<!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
			<property name="enableSubPackages" value="true" />

			<!-- 可以为所有生成的接口添加一个父接口,但是MBG只负责生成,不负责检查 <property name="rootInterface" 
				value=""/> -->
		</javaClientGenerator>

		<table tableName="assistant_group_order_transport">
			<property name="constructorBased" value="false" />
			<property name="ignoreQualifiersAtRuntime" value="false" />
			<property name="immutable" value="false" />
			<property name="modelOnly" value="false" />
			<property name="useActualColumnNames" value="false" />
		</table>
		
	</context>
</generatorConfiguration>
另外,上述配置信息中使用到的mybatis-generate.properties配置文件,直接放在resources下即可,配置如下:
mysql.driverName=com.mysql.jdbc.Driver
mysql.url=jdbc:mysql://127.0.0.1:3306/yihg_openapi?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
mysql.username=root
mysql.password=root

modelPackage = com.yihg.travel.api.model
sqlMapperPackage = mappers
mapperPackage = com.yihg.travel.api.dao

generate.connection.location=D:/javamaven/maven-jars/repository/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar
在Generator配置文件中的配置详情请参照本博客文章【Mybatis-Generator之最完美配置详解】。
在数据库信息连接成功的情况下,在generatorConfig.xml配置文件上右键,如图:

点击小鸟运行即可根据数据库表名自动生成代码。
就写到这里吧!!









0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

用Maven插件生成Mybatis代码

现在代码管理基本上是采用Maven管理,Maven的好处此处不多说,大家用百度搜索会有很多介绍,本文介绍一下用Maven工具如何生成Mybatis的代码及映射的文件。 一、配置Maven pom...
  • gebitan505
  • gebitan505
  • 2015-03-19 11:30
  • 22040

Eclipse 使用mybatis generator插件自动生成代码

Eclipse 使用mybatis generator自动生成代码1. 下载mybatis generator插件下载地址:https://github.com/mybatis/generator/r...
  • dings503
  • dings503
  • 2016-12-07 15:10
  • 10288

java笔记之使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件2种方法

Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。 方法一、在...
  • LouisZhoun
  • LouisZhoun
  • 2016-07-01 13:07
  • 2494

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

Mybatis-Generator 下载地址 由于我使用的是Mysql数据库,这里需要在准备一个连接mysql数据库的驱动jar包 generatorConfig.xml <!DOCT...
  • u012209148
  • u012209148
  • 2018-01-06 19:07
  • 18

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

使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件
  • u014520797
  • u014520797
  • 2016-10-25 09:43
  • 367

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

MyBatis简单易用,但是需要编写大量的实体类和Mapper映射文件。 我们可以使用 Mybatis-Generator 来帮助我们完成以上文件的编写。 下载 Mybatis-Generator h...
  • lgh1992314
  • lgh1992314
  • 2017-06-12 14:02
  • 377

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

http://www.cnblogs.com/smileberry/p/4145872.html Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping...
  • javakakayi
  • javakakayi
  • 2017-03-27 18:10
  • 248

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

出处:http://www.cnblogs.com/lichenwei/p/4145696.html Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文...
  • li398349797
  • li398349797
  • 2016-10-15 15:24
  • 167

使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件(转) 出处:http://www.cnblogs.com/lichenwei/p/4145696.html

使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件(转) 出处:http://www.cnblogs.com/lichenwei/p/4145696.htm...
  • I_will_try
  • I_will_try
  • 2017-06-01 16:55
  • 472

【提供源码下载】使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件

其实这个没什么,但是能大大加快我们的开发速度。 只需要把一个配置文件配置好就行, <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.or...
  • XiangTianZaiJie500
  • XiangTianZaiJie500
  • 2016-07-21 10:25
  • 527
    个人资料
    • 访问:235112次
    • 积分:3066
    • 等级:
    • 排名:第13183名
    • 原创:111篇
    • 转载:43篇
    • 译文:0篇
    • 评论:64条
    最新评论