Memory River

记忆河,记今日之事忆往昔之流

使用generator工具自动生成mybatis的实体类、dao接口和映射文件

Rickey  \  2018-11-21 18:45:16

本文使用的是maven管理项目,直接上干货

项目结构:

红色圈是主要包:dao包存放dao相关java文件,model包存放实体类文件,mapper文件夹存放映射文件。generator文件夹存放代码生成的主要配置文件。(这些路径都不是唯一的,大家可以根据项目的结构随意配置,但要注意和generatorConfig.xml中的相关配置一致即可。)

下面开始操刀。

第一步:先添加依赖,要注意!是放在build > plugins 的标签内,一般项目都会有这两个标签了,直接添加核心部分即可。注意configurationFile的配置,改为你自己的配置文件的路径。

  <build>
  		<plugins>
  			<!-- mybatis generator 自动生成代码插件 -->
  			<plugin>
  				<groupId>org.mybatis.generator</groupId>
  				<artifactId>mybatis-generator-maven-plugin</artifactId>
  				<version>1.3.2</version>
				<configuration>
					<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
					<overwrite>true</overwrite>
					<verbose>true</verbose>
				</configuration>
			</plugin>
		</plugins>
	</build>

第二步:编写配置文件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>
	<!-- 自动生成,用maven:mybatis-generator:generate -->
	<!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包 -->
	<classPathEntry location="C:/Users/Administrator/.m2/repository/com/oracle/ojdbc7/12.1.0.1/ojdbc7-12.1.0.1.jar" />
	<context id="DB2Tables" targetRuntime="MyBatis3">
		<commentGenerator>
			<property name="suppressDate" value="true" />
			<!-- 是否去除自动生成的注释 true:是 : false:否 -->
			<property name="suppressAllComments" value="true" />
		</commentGenerator>
		<!--数据库链接URL,用户名、密码 -->
		<jdbcConnection driverClass="oracle.jdbc.OracleDriver"
			connectionURL="jdbc:oracle:thin:@数据库ip:端口:orac" userId="用户名" password="密码">
		</jdbcConnection>
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>
		<!-- 生成模型的包名和位置 -->
		<javaModelGenerator targetPackage="com.cyberway.sng_common.model.po" targetProject="src/main/java">
			<property name="enableSubPackages" value="true" />
			<property name="trimStrings" value="true" />
		</javaModelGenerator>
		<!-- 生成映射文件的包名和位置 -->
		<sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources">
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>
		<!-- 生成DAO的包名和位置 -->
		<javaClientGenerator type="XMLMAPPER" targetPackage="com.cyberway.sng_common.dao" targetProject="src/main/java">
			<property name="enableSubPackages" value="true" />
		</javaClientGenerator>
		<!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名 -->
		<!-- <table tableName="a" domainObjectName="A" enableCountByExample="true" 
			enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" 
			selectByExampleQueryId="true"></table> -->
		<table tableName="数据表名称" domainObjectName="实体类名称" enableCountByExample="true"
			enableUpdateByExample="true" enableDeleteByExample="true"
			enableSelectByExample="true" selectByExampleQueryId="true"></table>

	</context>
</generatorConfiguration>

要注意的地方:

  1. 数据库驱动,需要更换相应数据库的驱动,我这里是Oracle的数据,所以用了Oracle的驱动。(这个驱动和项目运行所需要的驱动是一样的,一般pom都会依赖一个对应的驱动,去物理磁盘上的maven库找到对应的jar文件路径即可使用了)
  2. 需要修改数据库的链接信息
  3. 修改成你项目的包名和位置(实体类、映射文件、dao文件)
  4. 在table标签中,修改需要生成代码的数据表名称(tableName),修改生成的实体类的类名(domainObjectName)

第三步:准备工作做完了,现在准备运行项目看效果了。

使用maven build的方式生成代码,具体如下:

选中项目名称,右键->Run As -> Maven build...,(如果是已经操作过一次了,就直接选中没有省略号的那个,即:Maven build)

一般情况下,只需要填写Goals的命令就可以了,记住,这个命令必须要这样写

mybatis-generator:generate

然后点击Apply -> Debug,项目就会开始执行命令,并生成相应的代码,这时可以关注控制台打印的信息:

当出现BUILD SUCCESS的时候,应该知道是什么意思了吧。刷新一下项目相应的路径就能看到生成的代码了。

标签: generatormybatis
地址: http://wchuf.com/article/adt/b41280e4f5cf43098c5e3ad8102280bb.html
声明: 本文为原创文章,版权归本站所有,欢迎分享本文,转载请保留出处!
  145         0         0
Rickey
人,可以无傲气,但不可以无傲骨。

YOU MIGHT ALSO LIKE

0 COMMENTS
想对博主说些什么?