MyBatis Generator反向生成Example实例

本文介绍如何使用MyBatisGenerator反向生成Example实例,包括配置mybatis-generator.xml文件和构建脚本来自动生成Java实体类、Mapper接口及XML文件。通过详细设置,如数据库连接信息、生成策略和插件应用,实现自动化代码生成,提高开发效率。

MyBatis Generator反向生成Example实例

mybatis-generator.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>
	<!--数据库驱动 -->
	<classPathEntry location="./mysql-connector-java-5.1.26-bin.jar" />

	<context id="MySQLTables" targetRuntime="MyBatis3">
		<!--是否覆盖xml文件: false 覆盖 true:追加 -->
		<property name="mergeable" value="false"></property>
		<!--分页插件 -->
		<plugin type="org.mybatis.generator.plugins.PaginationPlugin" />
		<!--实现model example 以及内部类序列化插件 -->
		<plugin type="org.mybatis.generator.plugins.SerializablePlugin2" />
		<!--重写equals 、 hashCode -->
		<plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" />
		<!--重写 toString -->
		<plugin type="org.mybatis.generator.plugins.ToStringPlugin" />

		<commentGenerator>
			<property name="suppressAllComments" value="true" /><!-- 是否取消注释 -->
			<property name="suppressDate" value="false" /> <!-- 是否生成注释代时间戳 -->
			<property name="swagger" value="true" /> <!-- 是否生成swagger注解 -->
		</commentGenerator>
		<!-- 数据库连接信息 -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
			connectionURL="jdbc:mysql://10.0.32.55:3306/metadata?characterEncoding=UTF-8"
			userId="root" password="123456">
		</jdbcConnection>

		<!-- 只有一个属于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>

		<!--生成 Model.java文件 -->
		<javaModelGenerator targetPackage="com.thundersoft.iam.model"
			targetProject="../../../java">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
			<!-- 是否针对string类型的字段在set的时候进行trim调用 -->
			<property name="trimStrings" value="true" />
		</javaModelGenerator>

		<!-- 生成 Mapper.xml文件 -->
		<sqlMapGenerator targetPackage="mapper"
			targetProject="../../../resources/mybatis">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
		</sqlMapGenerator>

		<!-- 生成 Mapper.java文件,即dao层 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="com.thundersoft.iam.mapper" targetProject="../../../java">
			<property name="enableSubPackages" value="false" />
		</javaClientGenerator>

		<!-- 待生成的数据库中的表名,生成一个表对应的Java和xml文件就需要配置这一段 -->
		<table tableName="user" domainObjectName="User">
			<generatedKey column="id" sqlStatement="MySql" identity="true" />
		</table>
	</context>
</generatorConfiguration>

新建一个Ant Build用来执行mybatis-generator.xml,反向生成Example

Build.xml

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

    <path id="ant.run.lib.path">
        <pathelement location="${basedir}/mybatis-generator-core-1.3.6-SNAPSHOT.jar"/>
    </path>

    <target name="genfiles" description="Generate the files">
        <taskdef name="mbgenerator"
                 classname="org.mybatis.generator.ant.GeneratorAntTask"
                 classpathref="ant.run.lib.path"/>
        <mbgenerator
                overwrite="true"
                configfile="${basedir}/mybatis-generator.xml"
                verbose="true">
            <propertyset>
                <propertyref name="generated.source.dir" />
            </propertyset>
        </mbgenerator>
    </target>
</project>

结果显示在model层
在这里插入图片描述
之后@Autowired自动注入相关service即可使用Mapper进行数据库操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值