国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Mybatis-plus的操作(新增,修改)

這篇具有很好參考價(jià)值的文章主要介紹了Mybatis-plus的操作(新增,修改)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、springboot整合mybatis-plus

1.1 springboot在整合mybatis-plus時(shí),pom文件中的坐標(biāo)

一般同時(shí)會(huì)引入Druid。

<!-- springboot整合mybatis-plus-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.2</version>
</dependency>
<!-- springboot整合mysql-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>
<!-- springboot整合druid-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.6</version>
</dependency>

1.2 application.yml配置文件

spring:
  application:
    name: springboot_mysql
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
      username: root
      password: root

mybatis-plus:
  configuration:
    #執(zhí)行的sql語句,會(huì)打印在控制臺(tái)上
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      #id增長策略
      id-type: assign_id
      #數(shù)據(jù)庫表與模型的關(guān)系
      table-prefix: tbl_

1.3 數(shù)據(jù)庫表與模型關(guān)系的映射關(guān)系

MP會(huì)默認(rèn)將模型類的類名首字母小寫作為表名使用,假如數(shù)據(jù)庫名稱都以tbl_開頭,那么我們就需要將所有的模型類上添加@TableName,配置起來還是比較繁瑣,簡化方式可以在配置文件中配置如下內(nèi)容:

mybatis-plus:?
? ? global-config:?
? ? ? ? db-config:?
? ? ? ? ? ? table-prefix: tbl_

設(shè)置前綴的內(nèi)容,這樣MP就會(huì)拿tbl_加上模型類的首字母小寫,就剛好組裝成數(shù)據(jù)庫的表名。

二、新增

2.1、@TableId(type = IdType.策略)注解,主鍵的生成策略

在向數(shù)據(jù)庫表中新增數(shù)據(jù)時(shí),往往Id都是自動(dòng)生成的的,而不是手動(dòng)維護(hù)的。所以可以在實(shí)體類中的Id字段上加上注解@TableId(type = IdType.策略),表示字段的生成策略。

2.2、IdType.策略有ASSIGN_ID策略、ASSIGN_UUID策略、INPUT策略、AUTO策略

2.2.1?ASSIGN_ID策略

可以在分布式的情況下使用,生成的是Long類型的數(shù)字,可以排序性能也高,但是生成的策略和服務(wù)器時(shí)間有關(guān),如果修改了系統(tǒng)時(shí)間就有可能導(dǎo)致出現(xiàn)重復(fù)主鍵。所以實(shí)體類的字段類型是Long類型的,否則會(huì)拋異常。

2.2.2?ASSIGN_UUID策略

可以在分布式的情況下使用,而且能夠保證唯一,但是生成的主鍵是32位的字符串,長度過長占用空間而且還不能排序,查詢性能也慢。

2.2.3?AUTO策略

數(shù)據(jù)庫ID自增,這種策略適合在數(shù)據(jù)庫服務(wù)器只有1臺(tái)的情況下使用,不可作為分布式ID使用

2.2.4?INPUT

不設(shè)置id生成策略,MP不自動(dòng)生成,約等于NONE,所以這兩種方式都需要用戶手動(dòng)設(shè)置,但是手動(dòng)設(shè)置第一個(gè)問題是容易出現(xiàn)相同的ID造成主鍵沖突,為了保證主鍵不沖突就需要做很多判定,實(shí)現(xiàn)起來比較復(fù)雜

2.3、主鍵生成策略統(tǒng)一配置

如果要在項(xiàng)目中的每一個(gè)模型類上都需要使用相同的生成策略,稍微比較繁瑣,我們可以在配置文件中添加內(nèi)容來使用統(tǒng)一的配置:

mybatis-plus:?
? ? global-config:?
? ? ? ? db-config:
? ? ? ? ? ? id-type: assign_id

配置完成之后,每個(gè)模型的注解ID策略都將成為assign_id

2.4 新增

Employee employee = new Employee();
employee.setLastName("zhangsan");
employee.setGender(1);
employee.setEmail("zhangsan@qq.com");
employeeMapper.insert(employee);

三、修改

Employee employee = new Employee();
employee.setId(13L);
employee.setLastName("王五");
employee.setEmail("wangwu@qq.com");
employee.setGender(1);
employeeMapper.updateById(employee);

四、自動(dòng)填充功能

比如創(chuàng)建時(shí)間,修改時(shí)間等字段,都和當(dāng)前時(shí)間有關(guān)系,可以通過set方法設(shè)置字段的值。但是也可以通過mybatis-plus提供的自動(dòng)填充的功能設(shè)置字段的值。其步驟如下:

第一步:在實(shí)體類需要填充的字段上加注解@TableField(fill=)

@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;

第二步:實(shí)現(xiàn)mybatis-plus提供的MetaObjectHandler接口

1. 新建handler包,在handler包下創(chuàng)建類MyMetaObjectHandler implements??MetaObjectHandler,并由spring管理,添加@Component注解

2. 類中重載insertFill,updateFill方法。新增的時(shí)候會(huì)執(zhí)行insertFill()方法,修改時(shí)會(huì)執(zhí)行updateFill()方法。文章來源地址http://www.zghlxwxcb.cn/news/detail-432507.html

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        //setFieldValByName:參數(shù)1:字段名,參數(shù)2:賦值,參數(shù)3:metaObject
        this.setFieldValByName("createTime",new Date(),metaObject);
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }
}

到了這里,關(guān)于Mybatis-plus的操作(新增,修改)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringBoot整合MyBatis-Plus,趕緊整過來!

    提示:以下是本篇文章正文內(nèi)容 MyBatis-Plus官網(wǎng)介紹:MyBatis-Plus (opens new window)(簡稱 MP)是一個(gè) MyBatis (opens new window)的增強(qiáng)工具,在 MyBatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡化開發(fā)、提高效率而生。 MyBatis-Plus封裝了單表的crud操作,減少基礎(chǔ)代碼編寫,提高開發(fā)效率。 支持自

    2024年02月06日
    瀏覽(18)
  • SpringBoot整合Mybatis-plus實(shí)現(xiàn)商品推薦

    在開始編寫代碼之前,我們需要準(zhǔn)備一下環(huán)境: Java 8+ IntelliJ IDEA Node.js 和 npm Vue CLI 如果你還沒有安裝Vue CLI,則可以使用以下命令在終端中安裝: 首先,我們需要使用Spring Boot創(chuàng)建一個(gè)新項(xiàng)目。在IntelliJ IDEA中,選擇“New Project”,然后選擇“Spring Initializr”。 在“New Project”

    2024年02月01日
    瀏覽(18)
  • SpringBoot整合JUnit--MyBatis--MyBatis-Plus--Druid

    SpringBoot整合JUnit--MyBatis--MyBatis-Plus--Druid

    文章轉(zhuǎn)自黑馬程序員SpringBoot學(xué)習(xí)筆記,學(xué)習(xí)網(wǎng)址:黑馬程序員SpringBoot2教程 1.整合JUnit ? SpringBoot技術(shù)的定位用于簡化開發(fā),再具體點(diǎn)是簡化Spring程序的開發(fā)。所以在整合任意技術(shù)的時(shí)候,如果你想直觀感觸到簡化的效果,你必須先知道使用非SpringBoot技術(shù)時(shí)對應(yīng)的整合是如何做

    2023年04月23日
    瀏覽(26)
  • SpringBoot(整合MyBatis + MyBatis-Plus + MyBatisX插件使用)

    SpringBoot(整合MyBatis + MyBatis-Plus + MyBatisX插件使用)

    1.需求分析 2.數(shù)據(jù)庫表設(shè)計(jì) 3.數(shù)據(jù)庫環(huán)境配置 1.新建maven項(xiàng)目 2.pom.xml 引入依賴 3.application.yml 配置數(shù)據(jù)源 數(shù)據(jù)庫名 用戶名 密碼 驅(qū)動(dòng)是mysql8的(因?yàn)樯厦媸褂昧税姹局俨茫?4.Application.java 編寫啟動(dòng)類 5.測試 6.配置類切換druid數(shù)據(jù)源 7.測試數(shù)據(jù)源是否成功切換 4.Mybatis基礎(chǔ)配置 1

    2024年03月20日
    瀏覽(32)
  • Springboot3整合Mybatis-plus3.5.3報(bào)錯(cuò)

    Springboot3整合Mybatis-plus3.5.3報(bào)錯(cuò)

    ?作者簡介:大家好,我是Leo,熱愛Java后端開發(fā)者,一個(gè)想要與大家共同進(jìn)步的男人???? ??個(gè)人主頁:Leo的博客 ??當(dāng)前專欄: 報(bào)錯(cuò)以及Bug ?特色專欄: MySQL學(xué)習(xí) ??本文內(nèi)容:記錄一次Docker與Redis沖突 ???個(gè)人小站 :個(gè)人博客,歡迎大家訪問 ??個(gè)人知識(shí)庫: 知識(shí)庫,

    2024年02月05日
    瀏覽(21)
  • SpringBoot整合Mybatis-Plus+Druid實(shí)現(xiàn)多數(shù)據(jù)源

    SpringBoot整合Mybatis-Plus+Druid實(shí)現(xiàn)多數(shù)據(jù)源

    ??本文主要講解 springboot +mybatisplus + druid 實(shí)現(xiàn)多數(shù)據(jù)源配置功能 ?? 主頁傳送門:?? 傳送 Spring Boot: ? ?Spring Boot是一個(gè)基于Spring框架的開源Java開發(fā)框架,旨在簡化Spring應(yīng)用程序的開發(fā)、配置和部署。它提供了一種快速、敏捷的方式來構(gòu)建獨(dú)立的、生產(chǎn)級(jí)別的Spring應(yīng)用程

    2024年02月09日
    瀏覽(25)
  • SpringBoot整合Mybatis-Plus、Druid配置多數(shù)據(jù)源

    SpringBoot整合Mybatis-Plus、Druid配置多數(shù)據(jù)源

    目錄 1.初始化項(xiàng)目 1.1.初始化工程 1.2.添加依賴 1.3.配置yml文件 1.4.Spring Boot 啟動(dòng)類中添加?@MapperScan?注解,掃描 Mapper 文件夾 1.5.配置使用數(shù)據(jù)源 1.5.1.注解方式 1.5.2.基于AOP手動(dòng)實(shí)現(xiàn)多數(shù)據(jù)源原生的方式 2.結(jié)果展示 Mybatis-Plus:簡介 | MyBatis-Plus (baomidou.com) 在正式開始之前,先初始

    2024年02月11日
    瀏覽(24)
  • SpringBoot整合mybatis-plus實(shí)現(xiàn)分頁查詢(建議收藏)

    SpringBoot整合mybatis-plus實(shí)現(xiàn)分頁查詢(建議收藏)

    一、前言 ? ? ? ? 最近學(xué)習(xí)了SpringBoot分頁查詢的兩種寫法,一種是手動(dòng)實(shí)現(xiàn),另一種是使用框架實(shí)現(xiàn)?,F(xiàn)在我將具體的實(shí)現(xiàn)流程分享一下。 二、手動(dòng)實(shí)現(xiàn)分頁查詢 ????????先復(fù)習(xí)一下,SQL中的limit,下面一行sql語句的意思是從第二個(gè)數(shù)據(jù)開始查,查詢出兩條數(shù)據(jù)

    2024年01月16日
    瀏覽(18)
  • SpringBoot整合Mybatis-Plus、Jwt實(shí)現(xiàn)登錄token設(shè)置

    SpringBoot整合Mybatis-Plus、Jwt實(shí)現(xiàn)登錄token設(shè)置

    Spring Boot整合Mybatis-plus實(shí)現(xiàn)登錄常常需要使用JWT來生成用戶的token并設(shè)置用戶權(quán)限的攔截器。本文將為您介紹JWT的核心講解、示例代碼和使用規(guī)范,以及如何實(shí)現(xiàn)token的生成和攔截器的使用。 一、JWT的核心講解 JWT(JSON Web Token)是一種基于JSON的,用于在網(wǎng)絡(luò)上安全傳輸信息的

    2024年02月02日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包