maven使用Ant反向生成sqlmap

maven使用Ant反向生成sqlmap

在工作的时候遇到过反向生成sql,以前采用的是generator插件,这次采用maven下Ant生成。

1.先编写一个使用Ant执行的脚本build_mybatis.xml。Ant将通过这个脚本来执行生成我们需要的sqlmap,脚本要依赖于generator的jar包,我这里采用的是mybatis-generator-core-1.3.2.jar。具体配置如下:

<project default="genfiles"  basedir=".">
	<property name="generated.source.dir" value="${basedir}" />

	<target name="genfiles" description="Generate the files">
		<taskdef name="mbgenerator" classname="org.mybatis.generator.ant.GeneratorAntTask" classpath="${basedir}/mybatis-generator-core-1.3.2.jar" />
		<mbgenerator overwrite="true" configfile="generatorConfig.xml" verbose="false">
			<propertyset>
				<propertyref name="generated.source.dir" />
			</propertyset>
		</mbgenerator>
	</target>
</project>

2.配置一个generatorConfig.xml文件,这里包含你数据库的相关信息以及所需要生成的VO,Dao接口和sqlMapper相关信息。具体配置如下:

<generatorConfiguration>
    <classPathEntry location="ojdbc6-11.2.0.1.0.jar"/>

    <context id="default" defaultModelType="flat" targetRuntime="MyBatis3">
        <!-- 注释 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/><!-- 是否取消注释 -->
            <property name="suppressDate" value="true"/> <!-- 是否生成注释代时间戳 -->
        </commentGenerator>

        <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
                        connectionURL="数据库连接地址" userId="用户名" password="密码"/>

        <!-- 只有一个属于forceBigDecimals,默认false。 如果字段精确超过0,生成BigDecimal 如果字段精确是0,总长度10-18生成Long;如果字段精确是0, 总长5-9生成Integer; 如果字段精确是0,总长小于5生成Short; 如果forceBigDecimals为true,统一生成BigDecimal -->
        <javaTypeResolver>
            <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- 生成vo、model -->
        <javaModelGenerator targetPackage="com.jetair.ndc.ancillary.domain" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- 生成mapxml文件 -->
        <sqlMapGenerator targetPackage="sqlmaps" targetProject="src/main/resources"/>

        <!-- 生成mapxml对应client,也就是接口dao -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.jetair.ndc.ancillary.mapper"
                             targetProject="src/main/java">
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>
	
        <table tableName="ANCILLARY_GROUP" domainObjectName="AncillaryGroupPO" enableCountByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false">
            <generatedKey column="id" sqlStatement="select SEQ_ANCILLARY_GROUP.nextval from dual"/>
        </table>

    </context>
</generatorConfiguration>

3.添加Ant执行文件
在这里插入图片描述
选择刚刚配置的build_mybatis.xml脚本。

4.选择后如图所示,为一个可执行脚本,点击运行即可生成。
在这里插入图片描述

5.生成结果如图:
在这里插入图片描述

加粗样式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值