mybatis自动生成工具:mybatis-generator-config

目的:通过数据库表,反向生成bean、dao(mapper)、以及*mapper.xml

步骤:

工具目录:这边因为我使用的数据库为oracle数据库,需要一个驱动jar包

1、修改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">
<!-- maven commend like: -->
<!--Dmybatis.generator.overwrite=true mybatis-generator:generate -->
<generatorConfiguration>
    <!-- 指定驱动的路径 -->
	<!-- <classPathEntry location="E:/data/maven_repository/richinfo/mysql/mysql-connector-java/5.1.41/mysql-connector-java-5.1.41.jar" /> -->
	<classPathEntry location="D:\java\jar\ojdbc14-10.2.0.1.0.jar" />
	<!-- flat:该模型为每一张表只生成一个实体类 -->
	<context id="oracleContext" targetRuntime="MyBatis3"  defaultModelType="flat">
	<!-- 给Java模型生成equals和hashcode方法 -->
	<plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" />
	<!-- 为生成的Java模型类添加序列化接口,并生成serialVersionUID字段 -->
	<plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
	<!-- 这个插件用来在XXXExample类中生成大小写敏感的LIKE方法-->
	<plugin type="org.mybatis.generator.plugins.CaseInsensitiveLikePlugin" />
	<commentGenerator>
		 <!-- 阻止生成注释 -->
		 <property name="suppressAllComments" value="true"/>
		 <!-- 阻止生成的注释包含时间戳 -->
		 <property name="suppressDate" value="true"/>
	</commentGenerator>
    <!--  jdbc连接 -->
	<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
			connectionURL="jdbc:oracle:thin:@20.26.11.7:1521:CSHP04"
			userId="sjyyt"
			password="sjyyt123"> 
	</jdbcConnection>
	<!--<jdbcConnection driverClass="com.mysql.jdbc.Driver"
				connectionURL="jdbc:mysql://20.26.20.84:3306/headline" 
				userId="sjyytopmg"
				password="123456">				
	</jdbcConnection>-->

	<javaTypeResolver>
		<!-- 是否强制DECIMAL和NUMERIC类型的字段转换为Java类型的java.math.BigDecimal -->
		<property name="forceBigDecimals" value="false" />
	</javaTypeResolver>

	<!-- 生成数据库表的实体类 -->
	<javaModelGenerator 
		targetPackage="com.richinfo.mgt.bean"  
		targetProject="D:/javaProject/richinfo-project-git/zjintfmgr/src/main/java">
		<!-- enableSubPackages:如果true会根据catalog和schema来生成子包。如果false就会直接用targetPackage属性 -->
		<property name="enableSubPackages" value="true" />
		<!-- 自动去掉不必要的空格 -->
		<property name="trimStrings" value="true" />
	</javaModelGenerator>

	<!-- *Mapper.xml-->
	<sqlMapGenerator 
		targetPackage="com.richinfo.mgt.dao"
		targetProject="D:/javaProject/richinfo-project-git/zjintfmgr/src/main/resource">
		<property name="enableSubPackages" value="false" />
	</sqlMapGenerator>

	<!-- *Mapper.java 也就是接口dao -->
	<javaClientGenerator type="XMLMAPPER"
		targetPackage="com.richinfo.mgt.dao"
		targetProject="D:/javaProject/richinfo-project-git/zjintfmgr/src/main/java">
		<property name="enableSubPackages" value="false" />
	</javaClientGenerator>

     <!--  tableName为对应的数据库表 domainObjectName是要生成的实体类  不生成Example配置   --> 
	 <!-- <table tableName="SP_ADVERTS" domainObjectName="SpAdverts" 
		enableCountByExample="false"  
		enableDeleteByExample="false"
		enableSelectByExample="false"  
		enableUpdateByExample="false">
		</table>
	 -->
     <!--NUMBER类型默认情况下的转换规则为:
	     如果精度>0或者长度>18,就会使用java.math.BigDecimal
	     如果精度=0并且10<=长度<=18,就会使用java.lang.Long
	     如果精度=0并且5<=长度<=9,就会使用java.lang.Integer
	     如果精度=0并且长度<5,就会使用java.lang.Short -->        
     
     <!-- tableName为对应的数据库表 domainObjectName是要生成的实体类  生成带EXAMPLE配置 -->

	 <table tableName="itf_mgt_user" domainObjectName="User">
		<columnOverride column="ID" jdbcType="INTEGER" javaType="java.lang.Integer"/>
		<columnOverride column="USERNAME" jdbcType="VARCHAR" javaType="java.lang.String"/>
		<columnOverride column="PASSWORD" jdbcType="VARCHAR" javaType="java.lang.String"/>
		<columnOverride column="ROLE" jdbcType="INTEGER" javaType="java.lang.Integer"/>
		<columnOverride column="PHONENUM" jdbcType="VARCHAR" javaType="java.lang.String"/>
		
		<!--<columnOverride column="COMMIT_TIME" jdbcType="DATE" javaType="java.lang.Date"/>
		<columnOverride column="MODIFY_TIME" jdbcType="DATE" javaType="java.lang.Date"/>-->
		
     </table> 
	</context>
</generatorConfiguration>

2、执行create.bat即可

脚本内容:

java -jar mybatis-generator-core-1.3.2.jar -configfile Mybatis_generatorConfig.xml -overwrite
pause

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值