MBG逆向工程(MyBatis+Spring下实现)

使用MyBatis Generator

在前面配置MyBatis时,根据不同的需求,操作不同的表,首先要创建与数据表对应的JavaBean,然后为这个实体类配置一个mapper映射文件,里面再写有SQL语句,如果你使用动态代理,那么还得要创建一个与xml文件对应的Mapper接口。到了后面与Spring整合后,SqlSessionFactory由Spring来管理,把加载Factory的代码也放入到xml中,节省了内存资源,不过,结果集实体类,Dao层接口和mapper映射文件也还是要自己动手配置。对于一个庞大的数据库来说,如果每一张表都要重复以上操作,为其编写增删查改的配置,工作量无疑会变得很大。这时可以配置MyBatis Generator,来根据我们的数据表,生成出符合条件的JavaBean,mapper文件和代理接口。可能你会想,自动生成的JavaBean没问题,但mapper映射文件里的增删查改操作,真的可以满足我们的自定义需求吗,例如我针对不同条件的查询,它要怎么实现?下面开看看MyBatis Generator的配置和实现,看看它为我们生成的这些文件是什么样的。

 

逆向工程配置

GeneratorConfig

首先是逆向工程中最重要的配置文件generatorConfig.xml,MBG怎么根据数据表生成这么多东西,关键就在于配置是否正确,逆向工程配置文件会指明连接的数据库,需要生成代码的数据表和它们的生成文件位置等,下面边看它的配置项边说:

<?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代表一个单独的逆向配置 -->
	<context id="TestGenerator" targetRuntime="MyBatis3">
		<commentGenerator>
			<!-- 取消自动生成注释 -->
			<property name="suppressAllComments" value="true" />
		</commentGenerator>
		<!-- 数据库连接信息 -->
		<jdbcConnection 
			driverClass="com.mysql.jdbc.Driver"
			connectionURL="jdbc:mysql://localhost:3306/mybatis_test"
			userId="root"
			password="12345">
		</jdbcConnection>
		
		<!-- 把JDBC DECIMAL和NUMERIC类型解析为Integer,为true时是解析成BigDecimal -->
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>
		
		<!-- 配置生成的PO类(实体类)的位置,targetProject指示生成的位置 -->
		<javaModelGenerator targetPackage="com.sm.po"
			targetProject=".\src">
			<!-- 是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
			<!-- 数据库查询结果清除前后的空格 -->
			<property name="trimStrings" value="true" /> 
		</javaModelGenerator>
		
		<!-- 配置生成的mapper映射配置文件位置 -->
		<sqlMapGenerator targetPackage="com.sm.mapper"
			targetProject=".\src">
			<property name="enableSubPackages" value="false" />
		</sqlMapGenerator>
		
		<!-- 配置生成的Mapper代理接口位置 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="com.sm.mapper"
			targetProject=".\src">
			<property n
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值