MyBatis逆向生成项目代码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/guoYLong/article/details/86611487

何为逆向工程
        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会报错


猜你喜欢

转载自blog.csdn.net/guoYLong/article/details/86611487
今日推荐