mybatis-generator扩展教程系列 -- 搭建MBG源码项目(入门铺垫篇)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:       沉寂好久又开始发表文章(工作原因),这次我打算教大伙如何深入改造扩展mybatis的生成器框架,因为我们现在很多公司都是使用mybatis作为一个数据库查询组件,所以一个符合公司项...

      沉寂好久又开始发表文章(工作原因),这次我打算教大伙如何深入改造扩展mybatis的生成器框架,因为我们现在很多公司都是使用mybatis作为一个数据库查询组件,所以一个符合公司项目规范mybatis生成器是一个开发神器;至于有的牛人公司就是自己开发团队造个轮子,但是我个人觉得MBG本身已经比较完善了,所以就没必要再自己造一波轮子(学习性造轮子请忽略我这些话);下面就准备开车,请各位乘客系好安全带坐稳


1.下载官方的源码 (官方git地址https://github.com/mybatis/generator),我个人喜欢直接把他的ZIP包download使用,没有使用git组件拉取文件




2.下载之后直接解压ZIP到工作空间,然后通过maven方式导入eclipse




 



3.导入源码项目后看到downloading一大堆的JAR成功,就右键项目run as选项执行maven install顶级目录,然后慢慢等待第一次编译通过


4.创建project(生成文件会自动放到该目录),lib文件夹加入mysql驱动,加入generatorConfig.xml文件





5.编写generatorConfig.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="lib/mysql-connector-java-5.1.18.jar" />
	
	<context id="MySQLTables" targetRuntime="MyBatis3">
	
		<commentGenerator>
			<property name="suppressDate" value="true" />
			<!-- 是否去除自动生成的注释 true:是 : false:否 -->
			<property name="suppressAllComments" value="false" />
		</commentGenerator>
		
		<!--数据库链接URL,用户名、密码 -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
			connectionURL="jdbc:mysql://127.0.0.1:3306/qfd" userId="admin"
			password="admin">
		</jdbcConnection>
		
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>
		
		<!-- 生成模型的包名和位置 -->
		<javaModelGenerator targetPackage="com.test.domain"
			targetProject="project">
			<property name="enableSubPackages" value="true" />
			<property name="trimStrings" value="true" />
		</javaModelGenerator>
		
		<!-- 生成映射文件的包名和位置 -->
		<sqlMapGenerator targetPackage="com.test.dao.mapper"
			targetProject="project">
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>
		
		<!-- 生成DAO的包名和位置 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="com.test.dao" targetProject="project">
			<property name="enableSubPackages" value="true" />
		</javaClientGenerator>
		
		<!-- 配置生成表 -->
		<table tableName="qfd_sketch" enableCountByExample="false"
			enableDeleteByExample="false" enableSelectByExample="false"
			enableUpdateByExample="false">
			<property name="modelOnly" value="false" />
		</table>
		
	</context>
	
</generatorConfiguration>   





6.准备工作都差不多了,是时候创建一个extend文件夹后添加一个类运行生成器,最后run main....





package org.mybatis.generator.extend;

import org.mybatis.generator.api.ShellRunner;

public class MyTestRun {

	public static void main(String[] args) {
		String config = MyTestRun.class.getClassLoader().getResource("generatorConfig.xml").getFile();
		String[] arg = { "-configfile", config, "-overwrite" };
		ShellRunner.main(arg);
	}

}



7.最后run main成功后刷新下project目录,查看下我们的生成器结果文件





8. 小结一下我们的流程关键,重点是maven导入项目然后maven install操作,入门比较简单,我明晚抽空更新下一篇教程,如果你觉得本人文章对你有用可以加个粉丝,十分感谢大家收看

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
30天前
|
前端开发 Java 关系型数据库
SpringBoot+MyBatis 天猫商城项目
SpringBoot+MyBatis 天猫商城项目
51 1
|
30天前
|
Java 数据库连接 mybatis
mybatis简单案例源码详细【注释全面】——实体层(User.java)
mybatis简单案例源码详细【注释全面】——实体层(User.java)
13 0
|
7天前
|
SQL Java 数据库连接
深入源码:解密MyBatis数据源设计的精妙机制
深入源码:解密MyBatis数据源设计的精妙机制
15 1
深入源码:解密MyBatis数据源设计的精妙机制
|
28天前
|
SQL JavaScript Java
mybatis-flex入门体验(一)
`shigen`,一个专注于Java、Python、Vue和Shell的博主,分享成长和认知。近期探索了`mybatis-flex`,通过官网学习了代码生成和编码体验。配置数据源和依赖后,利用示例代码生成了符合Lombok+MyBatis Plus规范的实体和Mapper。此外,展示了如何配置SQL打印,并用测试代码演示了查询、多条件查询和更新操作。`mybatis-flex`的亮点在于流畅的查询语法和连表查询功能。后续将分享更多关于连表查询的实践。一起学习,每天进步!
33 0
mybatis-flex入门体验(一)
|
30天前
|
Java 数据库连接 mybatis
mybatis简单案例源码详细【注释全面】——Utils层(MybatisUtils.java)
mybatis简单案例源码详细【注释全面】——Utils层(MybatisUtils.java)
12 0
|
30天前
|
Java 数据库连接 mybatis
mybatis简单案例源码详细【注释全面】——测试层(UserMapperTest.java)
mybatis简单案例源码详细【注释全面】——测试层(UserMapperTest.java)
9 0
|
30天前
|
Java 数据库连接 mybatis
mybatis简单案例源码详细【注释全面】——Dao层映射文件(UserMapper.xml)【重要】
mybatis简单案例源码详细【注释全面】——Dao层映射文件(UserMapper.xml)【重要】
10 0
|
30天前
|
Java 数据库连接 mybatis
mybatis简单案例源码详细【注释全面】——Dao层接口(UserMapper.java)
mybatis简单案例源码详细【注释全面】——Dao层接口(UserMapper.java)
7 0
|
30天前
|
Java 数据库连接 mybatis
mybatis简单案例源码详细【注释全面】——实体层(Role.java)
mybatis简单案例源码详细【注释全面】——实体层(Role.java)
7 0
|
30天前
|
Java 关系型数据库 数据库连接
mybatis简单案例源码详细【注释全面】——前期准备
mybatis简单案例源码详细【注释全面】——前期准备
10 0