MyBatis逆向生成项目代码(generator)

本文详细介绍了MyBatis逆向工程的配置与使用,包括如何通过逆向工程自动生成实体类、SQL和接口,大幅提升开发效率。文章深入解析了配置文件的各个部分,如数据库连接信息、代码生成位置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


何为逆向工程
        MyBatis的一个主要的特点就是需要我们自己去写sql,有了这个工具的话,我们可以省去写sql的时间,专心处理业务逻辑,大大提升开发时间,通过数据库生成我们需要的实体类,sql,接口。

1.这是逆向整体结构


2.这里是配置需要我们生成代码的配置xml



3.要改的配置信息

<?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 id="testTables" targetRuntime="MyBatis3">
		<plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
		<commentGenerator>
			<!-- 是否去除自动生成的注释 true:是 : false:否 -->
			<property name="suppressAllComments" value="true" />
		</commentGenerator>
		<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
			connectionURL="jdbc:mysql://127.0.0.1:3306/demo" userId="root"
			password="root">
		</jdbcConnection>
		<!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg" 
			userId="yycg" password="yycg"> </jdbcConnection> -->
		<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 
			和 NUMERIC 类型解析为java.math.BigDecimal -->

		<javaTypeResolver>
			<property name="forceBigDecimals" value="true" />
		</javaTypeResolver>
		<!-- targetProject:生成PO类的位置 -->
		<javaModelGenerator targetPackage="com.example.demo.domain"
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
			<!-- 从数据库返回的值被清理前后的空格 -->
			<property name="trimStrings" value="true" />
		</javaModelGenerator>
		<!-- targetProject:mapper映射文件生成的位置 -->
		<sqlMapGenerator targetPackage="mappings"
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
		</sqlMapGenerator>
		<!-- targetPackage:mapper接口生成的位置 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="com.example.demo.dao" targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
		</javaClientGenerator>

		<!-- 指定数据库表 -->
		<!-- <table schema="" tableName="gongyi_admin_manager" domainObjectName="Manager"><generatedKey 
			column="id" sqlStatement="JDBC"/></table> <table schema="" tableName="gongyi_admin_operate_log" 
			domainObjectName="OperateLog"><generatedKey column="id" sqlStatement="JDBC"/></table> 
			<table schema="" tableName="gongyi_admin_permission" domainObjectName="Permission"><generatedKey 
			column="id" sqlStatement="JDBC"/></table> <table schema="" tableName="gongyi_admin_role" 
			domainObjectName="Role"><generatedKey column="id" sqlStatement="JDBC"/></table> 
			<table schema="" tableName="gongyi_admin_menu_new" domainObjectName="Menu"><generatedKey 
			column="id" sqlStatement="JDBC"/></table> <table schema="" tableName="gongyi_pay_order" 
			domainObjectName="Order"><generatedKey column="id" sqlStatement="JDBC"/></table> 
			<table schema="" tableName="gongyi_invoice" domainObjectName="Invoice"><generatedKey 
			column="id" sqlStatement="JDBC"/></table> <table schema="" tableName="gongyi_admin_email_config" 
			domainObjectName="EmailConfig"><generatedKey column="id" sqlStatement="JDBC"/></table> 
			<table schema="" tableName="gongyi_admin_email_receiver" domainObjectName="EmailReceiver"><generatedKey 
			column="id" sqlStatement="JDBC"/></table> <table schema="" tableName="gongyi_admin_time_task" 
			domainObjectName="TimeTask"><generatedKey column="id" sqlStatement="JDBC"/></table> 
			<table schema="" tableName="gongyi_admin_email_send" domainObjectName="EmailSend"><generatedKey 
			column="id" sqlStatement="JDBC"/></table> <table schema="" tableName="organizations" 
			domainObjectName="Organizations"><generatedKey column="id" sqlStatement="JDBC"/></table> 
			<table schema="" tableName="organizations_contacts" domainObjectName="OrganizationsContacts"><generatedKey 
			column="id" sqlStatement="JDBC"/></table> <table schema="" tableName="gongyi_admin_email_group" 
			domainObjectName="EmailGroup"><generatedKey column="id" sqlStatement="JDBC"/></table> 
			<table schema="" tableName="gongyi_admin_email_model" domainObjectName="EmailModel"><generatedKey 
			column="id" sqlStatement="JDBC"/></table> <table schema="" tableName="gongyi_admin_email_edit" 
			domainObjectName="EmailEdit"><generatedKey column="id" sqlStatement="JDBC"/></table> -->
		<!-- <table schema="" tableName="auction_menu"><generatedKey column="id" 
			sqlStatement="JDBC"/></table> <table schema="" tableName="auction_operate_log"><generatedKey 
			column="id" sqlStatement="JDBC"/></table> <table schema="" tableName="auction_permission"><generatedKey 
			column="id" sqlStatement="JDBC"/></table> <table schema="" tableName="auction_role"><generatedKey 
			column="id" sqlStatement="JDBC"/></table> <table schema="" tableName="auction_role_permission"><generatedKey 
			column="id" sqlStatement="JDBC"/></table> <table schema="" tableName="auction_user_role"><generatedKey 
			column="id" sqlStatement="JDBC"/></table> -->
        //需要改的表面,必须对应你数据库的名字
		<table schema="" tableName="demo_user">
			<generatedKey column="id" sqlStatement="JDBC" />
		</table>


	</context>
</generatorConfiguration>

4.运行启动类进行生成代码

到这里,基本的使用就差不多了,可以直接使用你生成的代码,你可以选择把这个xml放到你的项目里,也可以放到你的工作空

间下,把生成的代码托到你的项目里,需要注意的是,一定要对于包名路径,不然xml会报错


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭优秀的笔记

你的支持就是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值