IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> mybatis-plus入门学习实战经验(二)之不灭星辰 -> 正文阅读

[大数据]mybatis-plus入门学习实战经验(二)之不灭星辰

第一篇文章已经能够跑通过基本的查询功能了,下面我们跑一些常用的功能案例

1、配置文件添加配置使得控制台打印sql执行的过程(脚本)

通过mybatis-plus查询起来很方便,不用我们自己写sql语句,那么它底层是怎么执行的呢?在配置文件中加一下下面的配置就可以在控制台打印出来执行的sql语句:

#mybatis日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

如下图所示:

这个时候我再执行一下查询,看下日志输入如下图所示:

?2、mybatis-plus实现添加操作:

?这个时候我去数据库看一下这一条数据是否被添加成功(可以看到已经成功插入数据库)

?注意:可以看一下这个id的值,我没有设置id,它也没有自增,而是数据库给我们生成了一个id的值,这就牵扯到了mybatis-plus的主键策略了,下面讲解主键策略

3、mybatis-plus主键策略

mybatis-plus默认的主键策略是:ASSIGN_ID(使用了雪花id)生成一个19位的数字

相当于是:

?也可以进行全局主键设置,来影响所有的实体

#全局设置主键生成策略
mybatis-plus.global-config.db-config.id-type=auto

还有一种常用的主键策略就是自增,如下所示:

?常用的就这两种,其他几个不怎么用这里就不再花时间赘述了。

4、修改操作

数据库修改后的数据展示如图所示:修改成功

?

?5、mybatis-plus的自动填充特性

准备:1、修改user表,添加字段create_time 和 update_time 均是datetime类型字段

? ? ? ? ? ?2、user实体类添加这两个字段

? ? ? ? ? ?3、对自动填充的字段添加对应的注解,如下图所示:

? ? ? ? ? 4、写一个类来实现MetaObjectHandler接口,重写insertFill()和updateFill();方法里面是对自动填充的字段进行赋值操作,如下图所示:

ok,这个时候准备工作完成,下面是进行验证,先进行一个添加操作:

?查看数据库显示:可以看到已经添加成功并且自动填充

然后及逆行一个修改,看看修改时间会不会改变:可以看到修改时间已经修改,填充成功

?

?6、mybatis-plus乐观锁

?总所周知乐观锁主要是通过版本号来实现,更新的时候带着版本号,更新成功对版本号修改

那么mp(mybatis-plus)中是怎么 实现乐观锁的呢?往下看

1、在表中添加version字段作为版本号,对应实体也添加version字段

2、修改实体类,在version字段上添加注解@Version

?

3.配置一个乐观锁的插件(springboot工程为例)?,启动类中添加如下内容

?下面对乐观锁进行测试:

首先准备好了一条数据:

然后 根据id将该条数据查出来进行修改

?这个时候查看数据库可以发现数据库版本号被自动加了一(证明乐观锁生效)

?注意:乐观锁的插件一定要有哦,否则会报错的

?下一篇更新查询操作、分页查询操作、以及常用的条件构造器(重要)

?如果你感觉对你有用,可以关注一下公众号哦,文章中的项目demo已经上传csdn,有需要的可以自行下载,下载地址:mybatis-plus第二篇文章演示的demo案例-Java文档类资源-CSDN下载

?

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-02-09 20:46:17  更:2022-02-09 20:47:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:31:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码