MYBATIS生成策略

Mybatis-Plus插件主键生成策略 使用方法: 在ID字段添加注解 @TableId(value = "id",type = IdType.AUTO) private String id; Mybatis-Plus主键策略: 生成策略 说明 类型 AUTO AUTO(0, “数据库ID自增”) INPUT INPUT(1, “用户输入ID”) ID_WORKER ID_WORKER(2, “全局唯一ID... 阅读详情

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

八个方面深度解析后端知识/技能,本篇分享的是:

【MYBATIS生成策略】

【修真院java小课堂】MYBATIS生成策略

大家好,我是IT修真院北京分院第35期的学员铁木儿,一枚正直纯洁善良的java程序员,今天给大家分享一下,修真院官网java任务拓展

(1)背景介绍:

MYBATIS

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

(2)知识剖析:

第一阶段:JDBCTEMPLATE

Spring提供的一个操作数据库的技术JdbcTemplate,是对Jdbc的封装。语法风格非常接近DBUtils。 JdbcTemplate可以直接操作数据库,加快效率,而且学这个JdbcTemplate也是为声明式事务做准备,毕竟要对数据库中的数据进行操纵!

第二阶段:MYBATIS

每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先定制的 Configuration 的实例构建出 SqlSessionFactory 的实例。

第三阶段:MYBATISGENERATOR
MyBatis Generator (MBG) 是一个Mybatis的代码生成器,它可以帮助我们根据数据库中表的设计生成对应的实体类,xml Mapper文件,接口以及帮助类(也就是我们可以借助该类来进行简单的CRUD操作),这样就避免了我们每使用到一张表的数据就需要手动去创建对应的类和xml文件,这就帮我们节约了大量的时间去开发和业务逻辑有关的功能,但是如果对联合查询和存储过程您仍然需要手写SQL和对象。

第四阶段:MYBATISGENERATOR+TKMAPPER
MyBatis 代码生成器(简称为 MBG)的基础上,如果数据库字段变化很频繁,就需要反复重新生成代码,并且由于 MBG 覆盖生成代码和追加方式生成XML,导致每次重新生成都需要大量的比对修改。另外,仅仅基础的增删改查等方法,就已经产生了大量的 XML 内容,内容多,看着比较碍事。为了解决前面提到的问题,也为了兼容 MBG 的方法避免项目重构太多,在 MBG 的基础上结合了部分JPA注解产生了通用Mapper。通用Mapper可以很简单的让你获取基础的单表方法,也很方便扩展通用方法。使用通用 Mapper 可以极大的提高你的工作效率。

第五阶段:MYBATISPLUS
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

(3)常见问题:

1.工具越来越强大,我还有必要学习前面的内容吗

2.连表查询怎么处理

3.那种方案更好

(4)解决方案:

1:

任何进步都不是一蹴而就的,通过学习技术的发展过程可以把握进步的脉络

学习越接近底层越可以了解程序具体的运行过程,在追求编程效率的同时,不应该舍弃对于执行内容了解

对于自身而言,提高对细节的掌握程度,既可以增加代码的简洁性和正确性,也可以发挥出更多的功能

2:

生成的代码是基于表的,连表部分需要后续在mybatis的配置文件中补充

3:

没有绝对好的方案,在本次的内容中有两种通用的解决方案:“mybatisGenerator+TKMapper+PageHelper”或者使用mybatisPlus

(5)编码实战:

(6)拓展思考:

(7)参考文献:

http://mbg.cndocs.ml/

https://blog.youkuaiyun.com/isea533/article/details/83045335

http://mp.baomidou.com/

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

这里是技能树·IT修真院:https://www.jnshu.com,初学者转行到互联网的聚集地

MyBatis自定义代码生成策略实战 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解进行配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects, 普通的 Java 对象)映射成数据库中的记录。在生成MyBatis的Mapper XML文件时,我们通常会定义一些SQL片段,这些片段可以在多个SQL语句中复用。 阅读详情

相关推荐

STM32 超声波模块输入捕获测距(标准库)

通道2设置为下降沿触发,触发瞬间会将CNT的记录到CCR2中,由于上升沿触发时已经将CNT置零所以此时的CNT的值就是高电平的持续时间。通道1设置为上升沿触发,触发的瞬间会将CNT的值记录到CCR1里面,同时设置通道1触发带有从模式,并把从模式设置为置零CNT。超声波传感器模块上面通常有两个超声波元器件,一个用于发射,一个用于接收。电路板上有四个引脚:VCC、GND、Trig(触发)、Echo(回应)。输入捕获原理可以看看这位大佬,感觉写的很清楚,工作电压与电流:5V,15mA。感测角度:不小于15度。

qq_62425900的博客 2082

Mybatis-plus全局配置主键生成策略

mybatis可以配置全局的主键生成策略 也可以通过bean的属性加注解的方式设置,主键上使用@TableId注解,注解的type属性有6种选值,对应6中主键生成策略 当然还可以在数据库中设置该表字段的生成策略,mybatis plus默认使用全局唯一的数字类型 三种设置的优先级:注解 > 全局 > 默认 当IdType的类型为ID_WORKER、ID_WORKER...

leaves_story的博客 2万+

ESP32对接百度智能云语音识别:从硬件配置到API调用的完整指南

本文详细介绍了ESP32对接百度智能云语音识别的完整流程,从硬件配置到API调用,涵盖麦克风选择、音频处理、错误处理及性能优化等关键环节。通过实战案例展示如何实现低成本、高效率的语音交互方案,特别适合智能硬件开发者参考。

weixin_29198045的博客 372

3、mybatis的全局配置文件mybatis-config.xml

对于初学者,如果进行mybatis的学习呢?我总结了几点,会慢慢的更新出来。首先大家需要了解mybatis是什么、用mybatis来做什么、为什么要用mybatis、有什么优缺点;当知道了为什么的时候就开始了解如何用的问题,如何使用mybatis、有几种使用方式、各种方式的优缺点,在这个阶段也会学习mybatis涉及到的一些标签的用法;当知道了基础用法之后,就开始接触一些高级的用法,例如动态sql的使用、mybatis的缓存使用等;至此,在实战项目中使用mybatis进行开发已经没有问题了。 接下来就开始

chaizepeng的博客 5846

XGBoost算法案例 - 红酒品质分类

数据集共包含 11 个特征,共计 3269 条数据. 我们通过训练模型来预测红酒的品质, 品质共有 6 个各类别,分别使用数字: 0、1、2、3、4、5 来表示。

YIAN爱学习的博客 449

谷粒商城篇章9 ---- P248-P261/P292-P294 ---- 消息队列【分布式高级篇六】

RabbitMQ消息队列、RabbitMQ延时队列。

weixin_48568302的博客 1549

Mybatis之全局配置

Mybatis之全局配置 一 简介 Mybatis概述 (1)MyBatis 是支持定制化 SQL、存储过程以及高级 映射的优秀的持久层框架。 (2) MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 (3)MyBatis可以使用简单的XML或注解用于配置和原 始映射,将接口和Java的POJO映射成数据库中的记 录。 为什么使用Mybatis (1)MyBatis是一个半自动化的持久化层框架 (2)JDBC – SQL夹在Java代码块里,耦合度高导致硬编码内伤 – 维护不

hcyxsh的博客 270

FPGA之全数字锁相环(DPLL)

1. 数字锁相环的基本原理和组成 1.1 锁相环(PLL)的简介 锁相环最开始并不是用在数字电路中,而是模拟短路中。对于模拟电路中的锁相环,大家可以参考这篇文章稍微看一下,数字和模拟只是实现的方法不同,但是原理、步骤还是共同的。关于模拟PLL。可以参考一片文章: http://www.sohu.com/a/190569594_464086 首先在学习数字锁相环之前,我们应该先了解什么是锁相环?锁相...

DBLLLLLLLL的博客 5万+

MyBatis Generate的使用

MyBatis Generate MyBatis Generate可以理解为一个插件,可以帮助你使用SSM框架,根据数据库中的表,自动的生成JavaBean文件、对应的mapper接口、以及对应的mapper配置文件中大部分查询语句 要想使用MyBatis Generate,首先需要导入相应的依赖 <!--mybatis Generator插件--> <dependency> <groupId>org.mybatis

Yellow_Star的博客 4400

WSL子系统启动报错 Wsl/Service/CreateInstance/CreateVm/HCS_E_SERVICE_NOT_AVAILABLE

WSL子系统启动报错 :Wsl/Service/CreateInstance/CreateVm/HCS_E_SERVICE_NOT_AVAILABLE 于是分析原因,最终发现是Windows功能中的虚拟机平台功能不知道什么时候被取消了。

Linux I Tell U 6万+

Copilot在游戏开发中的应用:Unity脚本自动生成实践

2021年GitHub Copilot的发布,为代码自动生成带来了革命性突破。作为基于GPT模型训练的AI辅助编程工具,Copilot能根据注释、函数名、代码上下文,实时生成符合语法和逻辑的代码片段,甚至完整脚本。减少重复劳动:自动生成模板代码(如生命周期、结构),让你专注核心逻辑;降低API学习成本:对Unity特有的组件(RigidbodyAnimator)、类(),Copilot能生成符合最佳实践的调用代码;统一代码风格:通过团队共享提示词模板,让生成的代码符合项目规范;快速原型迭代。

AIGC应用创新大全的博客 1616

Mybatis-plus 主键生成策略详解

Mybatis-plus支持多种主键生成策略,包括自增、雪花算法、全局序列等,可以根据实际需求选择合适的主键生成策略。

ᶻᶻᶻ 枕星河的博客 1万+

银河麒麟编译libjpeg库并配置qt环境

银河麒麟下编译libjpeg库并配置qt环境验证

小米的修行之路 1011

MyBatis中的主键生成策略

在数据库(MySQL,Oracle…)中,我们都会为每张表设置主键。主键也是一个字段,只不过为其赋予非空唯一的特性。 主键的作用是保证一张表中的数据唯一性。 这次我们使用用户表介绍在使用MyBatis向数据库表新增数据(一条或者多条)时,主键该怎么设置? 在Java项目中,主键对应的Java类型一般是Integer,Long或者String。 建表及插值SQL语句 CREATE TABLE `sy...

weixin_44176169的博客 7222

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

MyBatis-Plus 主键生成策略终极教程​​

📌 ​​。

Rysxt_的博客 2038

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Mybatis-Plus id生成策略控制

Mybatis-Plus id生成策略控制

汤键的博客 5822

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

mybatis mysql 主键生成策略_mybatis-plus主键生成策略

MP 支持多种主键策略 默认是推特的“” 雪花算法“” ,也可以设置其他策略下面我演示主键策略使用MP的主键定义在一个一个枚举类中 源码如下public enum IdType {AUTO(0),//数据库自增 依赖数据库NONE(1),// 表示该类型未甚至主键类型 (如果没有主键策略)默认根据雪花算法生成INPUT(2),//用户输入ID(该类型可以通过自己注册填充插件进行填充)//下面这三种...

weixin_42627853的博客 835

Mybatis-plus id生成策略

id生成策略

qq_54247497的博客 6985

mybatis 缺少主键生成策略

确保在插入语句中正确配置主键生成策略,并且数据库表的主键列和属性的配置也是正确的。在MyBatis中,当数据库表的主键是自增或者由数据库生成时,需要在插入数据时配置相应的主键生成策略。确保使用的数据库连接驱动版本与所选择的主键生成策略兼容。在MyBatis的Mapper XML文件中,如果没有配置主键生成策略,可能导致插入数据时缺少主键生成。如果数据库表的主键是自增的,但是数据库驱动或数据库本身不支持自增主键,也可能导致缺少主键生成策略。此外,也要确保数据库表的主键列配置正确,以支持主键的自动生成。

Java开源程序猿 700

MyBatis-Plus主键生成策略

TableId(value = "pay_id", type = IdType.ASSIGN_ID) // 使用雪花算法// 省略其他字段JAVA 复制 全屏。

942

Mybatis-plus 主键生成策略

Mybatis-plus 主键生成策略主键策略AUTO (自动增长策略)Input(自定义输入策略)ASSIGN_ID(雪花算法)ASSIGN_UUID(不含中划线的UUID)NONE(无状态) 主键策略 mybatis-plus3.3.0以后,主要有五种主键生成策略 AUTO (自动增长策略) aout自动增长策略,这个配合数据库使用,mysql可以,但是oracle不行。 使用方法 在主键字段上加上 @TableId(type = IdType.AUTO) @Data public class Us

ZHH1015的博客 1万+

Mybatis-Plus中的几种主键生成策略

一、Mybatis-Plus中的主键生成策略 ​ 在设计数据库时,我们可以仅仅指定主键,但是不指定主键的生成策略,在持久化数据时再指定主键的生成策略。 1、分布式系统中主键的生成策略 ​ 在分布式系统中,常见的主键生成策略有以下几种: 1.1 数据库自增长序列或字段 ​ 最常见的方式。利用数据库,全数据库唯一。 ​ 优点: ​ 1)简单,代码方便,性能可以接受。 ​ 2)数字ID天然排序,对分页或者需要排序的结果很有帮助。 ​ 缺点: ​ 1)不同数据库语法和实现不同,数据库迁移的时候或多数

m0_46159545的博客 1686

Mybatis-Plus主键生成策略详解

本文主要是介绍了Mybatis-Plus主键生成策略及其相关的扩展方法。 1、熟悉5种类型的IdType的使用; 2、IdentifierGenerator和IKeyGenerator两类主键生成器的区别和各自的使用场景。

弹指天下 1万+
上一篇: Validation参数校验
下一篇: 数据结构-增强数据的功能
learning__java
博客等级 码龄8年 87粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值