如何使用mybatis generator代码生成?

MyBatis Generator代码生成的全面实践 MyBatis Generator(简称MBG)是一个用于快速生成MyBatis的Mapper、Model、SQL映射文件和数据库操作接口的代码生成工具。它通过读取数据库元数据,结合用户提供的配置文件,自动生成对应的数据访问层代码,极大地提升了开发效率并减少了重复性编码工作。MBG不仅能够生成基本的增删改查(CRUD)方法,还可以通过配置文件支持自定义生成代码,如动态SQL和复杂查询,同时支持数据库表的版本控制和字段注解处理。 阅读详情

这里是修真院后端小课堂,每篇分享文从

本篇分享的是:如何使用mybatis generator代码生成?

(1)背景介绍:

MyBatis Generator

MyBatis Generator (MBG) 是一个Mybatis的代码生成器

他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。

这样和数据库表进行交互时不需要创建对象和配置文件。

MBG的解决了对数据库操作有最大影响的一些简单的CRUD(插入,查询,更新,删除)操作。

您仍然需要对联合查询和存储过程手写SQL和对象

(2)知识剖析:

实现MBG的方式

1.使用命令行生成(了解)

2.使用maven插件进行生成(常用)

两种方式使用的generator.xml文件内的配置都是一样的,第一种需要用命令行加载jar包,第二种则需要用编辑器配置pom.xml

使用mybatis generator进行代码生成的操作步骤

第一步:准备数据库、表

第二步:3个依赖和1个插件

mybatis.jar

mybatis-generator-core.jar

mysql-connector-java.jar

mybatis-generator-maven-plugin

第三步:编写配置文件generatorConfig.xml

a.配置数据库连接地址及账号密码

b.生成的Model类存放位置

c.生成的映射文件存放位置

d.指定要生成的表(命名规范)

代码生成的映射文件提供了几种常用的CRUD操作

1.insert()

2.insertSelective()

3.updateByPrimaryKeySelective()

4.updateByPrimaryKey()

5.selectByPrimaryKey()

6.deleteByPrimaryKey()

mybatis-generator的运行过程

连接数据库——》从数据库的表中获取字段——》依据字段生成mapper文件、dao、实体类

生成的方式

1.使用命令行生成

2.使用maven插件进行生成

(3)常见问题:

数据库命名规范和JAVA命名规范不一样的怎么办?

只能逆向生成mapper.xml文件吗,可否生成annotation的mapper呢

(4)解决方案:

1.如不加设置,mybatis-generator会把数据库中的下划线规则自动转化为JAVA中的驼峰规则并生成实体类

2.可以通过generatorConfig.xml设置

将javaclientgenerator参数中的TYPE值由XMLMAPPER改为ANNOTATEDMAPPER即可

(5)编码实战:

(6)拓展思考:

(7)参考文献:

http://mbg.cndocs.ml/quickstart.html

https://gitee.com/free/Mybatis_Utils/blob/master/MybatisGeneator

(8)更多讨论:

1.什么是Example,什么是Criteria?

答:Example类被用来生成任何where子句。它包含一个内部静态类Criteria。这个Criteriz维护一个条件列表,这些条件会被 anded到where子句。
2.createCriteria()方法和or()方法的区别?

答:两个方法都可以用来创建Criteria对象。区别在于首个被crateCriteria方法创建的Criterier对象将自动添加到list of criteria。如果是被or()方法创建,则是添加到the list in all instance。

3.动态sql用起来有什么问题吗?

答:这里只做了一个简单的例子。因为方法名的原因,用起来比较吃力,但是如果以后公司没有代码生成的话,可以学习下。

(9)鸣谢:

感谢师兄,此教程是在他们之前技术分享的基础上完善而成。

(10)结束语:

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

MyBatis Generator自动化数据库代码生成指南 MyBatis Generator是一个代码生成器,它能够帮助开发者自动化地生成MyBatis框架中所需的SQL映射文件、Mapper接口以及对应的实体类。通过减少手工编写和维护这些组件的工作量,从而提高开发效率,减少因人工编码导致的错误。MyBatis Generator提供了丰富的插件机制,允许用户集成自定义插件以实现特定的生成需求。例如,如果你想在生成实体类时自动添加一些通用方法,可以使用插件来实现这一功能。 阅读详情

相关推荐

MyBatis Generator 自动化代码生成演示项目

在当今的软件开发领域,数据库操作是不可或缺的一环,而MyBatis作为一款流行的Java持久层框架,帮助开发者以对象关系映射的方式简化数据库编程。在此基础上,MyBatis Generator(MBG)工具应运而生,为开发者提供了自动化生成代码的能力,极大地提升了开发效率。MyBatis Generator可以自动化生成与数据库表对应的Java模型类(Model),以及这些模型对应的Mapper接口和XML映射文件。这些文件定义了Java类如何与数据库表进行交互,从而简化了数据库操作的编码工作。

weixin_36328210的博客 965

MyBatis Generator 1.4.0 使用(基础篇)

注意:JDK版本:jdk-11.0.6Maven版本:apache-maven-3.6.3IDE版本:Spring Tool Suite 4.6.1.RELEASEMyBatis Generator 版本: 1.4.0MySQL数据库:MySQL 8.0.13。

m0_67391683的博客 824

MyBatis Generator自动化代码生成工具实战应用

当默认生成逻辑无法满足需求时,我们可以直接干预模板引擎。MBG底层使用,模板文件藏在内部:步骤如下:解压JAR,提取模板;修改内容(如添加版权头、调整缩进);在配置中引用:你甚至可以完全替换生成器类,实现更深层次的定制。例如,强制所有实体继承某个基类:@Override然后在配置中注册:定期升级MBG版本,获取新特性与安全修复;拆分配置文件,按业务域组织,提升可维护性;限制JDBC账号权限,仅授予;

weixin_33239721的博客 935

Mybatis代码生成器Mybatis-Generator使用详解

前提 最近在做创业项目的时候因为有比较多的新需求,需要频繁基于DDL生成Mybatis适合的实体、Mapper接口和映射文件。其中,代码生成器是MyBatis Generator(MBG),用到了Mybatis-Generator-Core相关依赖,这里通过一篇文章详细地分析这个代码生成器的使用方式。本文编写的时候使用的Mybatis-Generator版本为1.4.0,其他版本没有进行过调研。 引入插件 Mybatis-Generator的运行方式有很多种: 基于mybatis-generator

m0_67698950的博客 4万+

MyBatis Generator插件:代码生成自动化实践

MyBatis Generator(简称MBG)是一个根据数据库表结构,自动生成MyBatis的Mapper类、XML映射文件以及Java Model类的工具。它支持多种数据库以及自定义模板,极大地简化了数据库驱动开发的过程。MBG还支持插件配置,允许用户通过插件来扩展其功能。在配置文件中通过<plugin>节点来引入和配置插件。例如,如果您希望在生成的Mapper接口中添加自定义方法,可以使用MyBatis Generator的插件机制:......这里。

weixin_42515392的博客 1485

MyBatis Generator 实践:XML映射与代码生成全面指南

MyBatis Generator(MBG)是MyBatis官方提供的一个代码生成工具,它能够自动化地生成MyBatis的核心文件,如Mapper接口、实体类以及XML映射文件,极大简化了数据库操作层的代码编写工作。MBG通过解析数据库表结构,根据提供的配置文件生成相应的代码。支持多种数据库系统,包括但不限于MySQL、Oracle和PostgreSQL。在MBG中,自定义配置文件不仅可以实现基本的代码生成,还可以通过高级配置来满足特定的项目需求。这些高级特性包括但不限于:自定义生成策略。

weixin_31800911的博客 935

MyBatis Generator 代码生成模板

MyBatis Generator 代码生成模板 【下载地址】MyBatisGenerator代码生成模板 `mybatis-generator.zip` 是一个高效的工具包,专为简化 MyBatis 开发流程而设计。它能够自动生成数据库表对应的 MyBatis 映射文件、Java 实体类以及 Mapper 接口,显著提...

gitblog_06726的博客 334

mybatis-generator-1.4.0.rar

mybatis-generator代码自动生成,版本1.4.0,内含自整理的使用说明,压缩包已包含mybatis-generator运行所需的jar包

mybatis- generator代码生成配置及达梦的代码生成问题

mybatis- generator代码生成配置及达梦的代码生成问题

白也白 3308

mybatis-generator-core-1.4.0-SNAPSHOT.jar

mybatis-generator-core-1.4.0-SNAPSHOT. 源码生成mybatis-generator-core-1.4.0-SNAPSHOT.jar方法.详细可见 https://blog.csdn.net/dono118/article/details/82980841

STM32+OV7670实战:5步搞定低成本人脸识别门禁系统(附完整代码)

本文详细介绍了基于STM32单片机和OV7670摄像头构建低成本离线人脸识别门禁系统的完整实战方案。文章从硬件选型、电路设计避坑入手,逐步讲解了图像采集优化、轻量级人脸检测与LBP特征提取策略,并提供了离线人脸库管理、特征比对以及系统集成的具体实现方法,附有核心代码示例,旨在帮助开发者快速实现可落地的嵌入式视觉应用。

kubernetes8ctl的博客 568

mybatis generator 代码生成

mybatis generator代码生成有五中方式,这里我们列出三种,重点说下其中两项常用的。 第一种:使用命令行创建 java -jar mybatis-generator-core-1.3.2.jar -config file generatorConfig.xml -overwrite 第二种:通过MybatisGenerator类和配置文件生成代码 package com.github.dao; import org.mybatis.generator.api.MyBatisGen.

aayygg1234的专栏 415

看完让你的RSA提升一个台阶 [GKCTF 2021]RRRRsa

我是,今天我给大家分享一个关于RSA的题目,带大家领略的魅力。今天开始前,我们先学习一下。

m0_62102520的博客 848

代码生成:mybatis.generator

【代码】代码生成:mybatis.generator。

shaojia158的博客 471

2月底速申!国家超算互联网免费算力全攻略|编程小白零消耗实操首测_2026-02-26

2月底速申!国家超算互联网免费算力全攻略|编程小白零消耗实操首测作为一名编程小白,我目前正在学习编译和运行 Qt 框架,也在逐步摸索开发环境的配置方法,目标是打造一款属于自己的个人效率工具。就在这时,我挖到了一个国家级硬核福利:国家超算互联网核心节点开放免费试运行!哪怕是零基础如我,也能申领到 100 卡时异构加速卡算力,关键是——2 月底前申请更稳妥,早占位早使用。

qq_58517981的博客 2095

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏。

Tina姐的博客 1938

MyBatis Generator GUI 下载安装教程 可视化MyBatis代码生成

MyBatis Generator GUI 是基于官方 MyBatis Generator 开发的一款图形化界面工具。它彻底解决了传统 MyBatis Generator 需要手动编辑 XML的痛点

宋小黑的博客 774

3DMax高效建模与人工智能:一场颠覆传统创作的效率革命

AI与3DMax的结合,不仅是工具效率的升级,更是一场创作范式的革命。从“手动雕刻”到“智能共生”,设计师的角色正从执行者转向决策者。正如网友所言:“AI不是替代人类,而是赋予凡人以神笔。”在这场变革中,唯有拥抱技术、深耕创意,方能在数字艺术的浪潮中立于潮头。参考文献与工具推荐技术原理:火星时代资讯《人工智能和三维建模》工具实测:哔哩哔哩《tyDiffusion 3dsMax应用》9、Tripo AI官网教育案例:原创论文《人工智能技术介入三维动画课程建设》

m0_46478534的博客 3009

springboot集成mybatis+Generator代码生成

首先创建一个springboot工程 这里我们先只加web依赖,springboot版本为2.2.6

世态人情 可作书读 可作戏看 352

【AI应用实战-WorkBuddy】WorkBuddy 能帮你做什么(一)

文章摘要: WorkBuddy是一款AI工作助手,专为提升效率而设计,适用于经常处理文档、代码、数据分析等重复性任务的职场人士。它能通过自然语言交互快速完成五大核心场景任务: 周报撰写:输入工作要点,10分钟生成专业周报; 代码调试:解析报错信息,3分钟提供解决方案; Excel分析:自动计算数据趋势并生成图表和结论; 自动化脚本:将重复流程转为脚本,节省98%时间; 文档生成:根据代码自动补充README、API文档和注释。 效果对比:传统手动操作耗时1-3小时的任务,WorkBuddy可将时间缩短至10

343

n8n AI高效工作流自动化 部署使用教程

摘要: n8n是一款开源可视化工作流自动化工具,结合AI能力可高效解决重复性任务。文章详细介绍了从Docker部署到实战应用的完整流程:1)通过Docker Compose自托管n8n,确保数据可控;2)以AI客服日报机器人为例,演示如何串联工单系统、ChatGPT和邮件通知,实现定时自动化;3)进阶搭建交互式AI助手,利用ToolsAgent节点调用业务API;4)整合向量数据库构建RAG知识库问答。关键建议包括:拆分复杂工作流、严格管理凭据、区分开发与生产环境,并建议从高频刚性需求(如日报生成)切入,逐

专注AI大模型,软件混淆,授权 264

mybatis generator代码生成

大家好,我是IT修真院武汉分院第15期学员,一枚正直善良的JAVA程序员。 今天给大家分享一下,修真院官网JAVA任务1中的深度思考,mybatis generator代码生成? 一、背景介绍 使用MyBatis Generator可以生成dao,model,mapper和xxxByExample文件。generator-plug1.3.6版本可以生成支持动态SQL的文件。1.3.5及以下只...

qq_42342242的博客 321

Oracle EBS FA 创建成批增加执行时间长且报错

摘要 Oracle EBS系统在执行"创建成批增"请求时出现长时间运行并报错(ORA-00603和ORA-03114)。

陈显平的专栏-Oracle EBS 173

mybatis generator代码生成 + pageHelper自动分页

mybatis generator 配置pom文件 <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.6</version> ...

qq_36382225的博客 686

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: JUnit单元测试详解
下一篇: 什么是贫血模型,充血模型?为什么我们会强制要求使用贫血模型?
learning__java
博客等级 码龄8年 87粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值