Mybatis 自动生成代码工具--mybatis-gennerator插件

2024-06-15 14:38

本文主要是介绍Mybatis 自动生成代码工具--mybatis-gennerator插件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

虽然很多人写过类似的blog,俗话说好记性不如烂笔头,还是自己写写记得牢,顺便默数下
mybatis-gennerator
插件的前世今生。

主要是为了简化代码,节省时间


1.maven项目中pom.xml文件

通过配置插件,让maven在执行install的时候,自动重新生成代码,因为生成的代码中包含mybatis包中的类,所以也需要引入该包。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.jacksoft.mybatis</groupId><artifactId>mybatis-generator</artifactId><version>0.0.1-SNAPSHOT</version><properties><mybatis-generator.version>1.3.1</mybatis-generator.version><mysql.version>5.1.13</mysql.version><mybatis.version>3.0.3</mybatis.version></properties><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>${mybatis-generator.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency></dependencies><build><finalName>mybatis-generator</finalName><plugins><!--这段plugin就可以了--><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.2</version><configuration><!--可移动--><verbose>true</verbose><!--可覆盖--><overwrite>true</overwrite></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.5</source><target>1.5</target><encoding>UTF-8</encoding></configuration></plugin></plugins></build>
</project>
创建mysqlGeneratorConfig.xml文件

在src/main/resources/config目录下面创建mysqlGeneratorConfig.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="D:\\m2\\repository2\mysql\\mysql-connector-java\\5.1.30\\mysql-connector-java-5.1.30.jar"/><context id="DB2Tables"  targetRuntime="MyBatis3">    <commentGenerator>    <property name="suppressDate" value="true"/>    <!-- 是否去除自动生成的注释 true:是 : false:否 -->    <property name="suppressAllComments" value="true"/>    </commentGenerator>    <!--数据库链接URL,用户名、密码 -->    <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/test1" userId="root" password="1111">    </jdbcConnection>    <javaTypeResolver>    <property name="forceBigDecimals" value="false"/>    </javaTypeResolver>    <!-- 生成模型的包名和位置-->    <javaModelGenerator targetPackage="com.example.pojo" targetProject="src/main/java"><property name="enableSubPackages" value="true"/>    <property name="trimStrings" value="true"/>    </javaModelGenerator>    <!-- 生成映射文件的包名和位置-->    <sqlMapGenerator targetPackage="com.example.mapping" targetProject="src/main/java"><property name="enableSubPackages" value="true"/>    </sqlMapGenerator>    <!-- 生成DAO的包名和位置-->    <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.dao" targetProject="src/main/java"><property name="enableSubPackages" value="true"/>    </javaClientGenerator>    <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名--><table tableName="user_t" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false"enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> 
</context>
</generatorConfiguration>
生成代码
到这里就差不多了,保存为该文件后,实际上就已经开始生成代码了,但是在source code界面,还是看不到代码,我们通过刷新或者 右键项目-->Maven-->Update Project Configuration这样就把生成的代码找到了,具体如下图

 项目配置:

当然也可以用cmd命令行生成代码

jar包放在该目录下,如上图所示,在该目录下,按住Shift键,右键鼠标打开cmd,输入java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite,即可。

结尾

这里解释下,文中可能有借鉴大神们的部分经验,表示感谢,但是仅供自我经验积累,谢谢。

这篇关于Mybatis 自动生成代码工具--mybatis-gennerator插件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1063735

相关文章

使用python生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4

Java使用Swing生成一个最大公约数计算器

《Java使用Swing生成一个最大公约数计算器》这篇文章主要为大家详细介绍了Java使用Swing生成一个最大公约数计算器的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下... 目录第一步:利用欧几里得算法计算最大公约数欧几里得算法的证明情形 1:b=0情形 2:b>0完成相关代码第二步:加

MyBatis常用XML语法详解

《MyBatis常用XML语法详解》文章介绍了MyBatis常用XML语法,包括结果映射、查询语句、插入语句、更新语句、删除语句、动态SQL标签以及ehcache.xml文件的使用,感兴趣的朋友跟随小... 目录1、定义结果映射2、查询语句3、插入语句4、更新语句5、删除语句6、动态 SQL 标签7、ehc

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

Java 线程池+分布式实现代码

《Java线程池+分布式实现代码》在Java开发中,池通过预先创建并管理一定数量的资源,避免频繁创建和销毁资源带来的性能开销,从而提高系统效率,:本文主要介绍Java线程池+分布式实现代码,需要... 目录1. 线程池1.1 自定义线程池实现1.1.1 线程池核心1.1.2 代码示例1.2 总结流程2. J

mybatis直接执行完整sql及踩坑解决

《mybatis直接执行完整sql及踩坑解决》MyBatis可通过select标签执行动态SQL,DQL用ListLinkedHashMap接收结果,DML用int处理,注意防御SQL注入,优先使用#... 目录myBATiFBNZQs直接执行完整sql及踩坑select语句采用count、insert、u

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

MyBatis Plus大数据量查询慢原因分析及解决

《MyBatisPlus大数据量查询慢原因分析及解决》大数据量查询慢常因全表扫描、分页不当、索引缺失、内存占用高及ORM开销,优化措施包括分页查询、流式读取、SQL优化、批处理、多数据源、结果集二次... 目录大数据量查询慢的常见原因优化方案高级方案配置调优监控与诊断总结大数据量查询慢的常见原因MyBAT