亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CRUD如何簡(jiǎn)化開(kāi)發(fā)

科技綠洲 ? 來(lái)源:Java技術(shù)指北 ? 作者:Java技術(shù)指北 ? 2023-09-25 15:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本篇文章,我們通過(guò) MyBatis Plus 來(lái)對(duì)一張表進(jìn)行 CRUD 操作,來(lái)看看是**如何簡(jiǎn)化我們開(kāi)發(fā)的****。

1、創(chuàng)建測(cè)試表

創(chuàng)建 USER 表:

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `ID` int(11) NOT NULL,
  `USER_NAME` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL,
  `USER_AGE` int(11) DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

向 USER 表中插入兩條數(shù)據(jù):

INSERT INTO `user` VALUES ('1', 'IT可樂(lè)', '18');
INSERT INTO `user` VALUES ('2', 'YSOcean', '22');

打開(kāi)表,發(fā)現(xiàn)有兩條數(shù)據(jù)了:

圖片

2、創(chuàng)建 Spring Boot 工程

通過(guò) IDEA 創(chuàng)建 Spring Boot 工程,如果不能連接 https://start.spring.io/ 網(wǎng)址,可以將網(wǎng)址變成 https://start.aliyun.com/ ,如下所示:

圖片

3、導(dǎo)入依賴(lài)

< dependency >
    < groupId >com.baomidou< /groupId >
    < artifactId >mybatis-plus-boot-starter< /artifactId >
    < version >3.3.2< /version >
< /dependency >
< dependency >
    < groupId >mysql< /groupId >
    < artifactId >mysql-connector-java< /artifactId >
    < scope >runtime< /scope >
< /dependency >

首先mybatis-plus 我們導(dǎo)入最新版 3.3.2。另外,由于我數(shù)據(jù)采用的是 MySql,所以這里導(dǎo)入了 Mysql 的連接依賴(lài)。

另外,為了簡(jiǎn)化JavaBean 類(lèi)的書(shū)寫(xiě),我這里額外導(dǎo)入一個(gè) lombok 插件依賴(lài)。

< dependency >
    < groupId >org.projectlombok< /groupId >
    < artifactId >lombok< /artifactId >
    < optional >true< /optional >
< /dependency >

通過(guò)這個(gè)依賴(lài)的相關(guān)注解,我們可以不用書(shū)寫(xiě)繁瑣的 get/set 方法。

4、編寫(xiě)數(shù)據(jù)庫(kù)配置文件

在 springboot 項(xiàng)目的 resource 目錄下,新建 application.yml 文件,添加如下內(nèi)容:

server:
  port: 8082

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mybatisplus?useUnicode=true&characterEncoding=UTF-8
    username: root
    password: root
    # >= 6.x: com.mysql.cj.jdbc.Driver
    # <= 5.x: com.mysql.jdbc.Driver
    driver-class-name: com.mysql.cj.jdbc.Driver

注意:url里面填寫(xiě)的 mybatisplus 是我的數(shù)據(jù)庫(kù)名稱(chēng),注意修改,username和password分別填寫(xiě)自己的數(shù)據(jù)庫(kù)連接名稱(chēng)和密碼。

5、編寫(xiě)代碼

①、實(shí)體類(lèi)User.java

@Getter
@Setter
public class User {
    private Long id;

    private String userName;
    
    private String userAge;

}

②、創(chuàng)建UserMapper 接口

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ys.mybatisplusstudy.entry.User;

public interface UserMapper extends BaseMapper< User > {
}

③、啟動(dòng)類(lèi)增加@MapperScan注解

@SpringBootApplication
@MapperScan("com.ys.mybatisplusstudy.mapper")
public class MybatisplusstudyApplication {

    public static void main(String[] args) {
        SpringApplication.run(MybatisplusstudyApplication.class, args);
    }

}

如果不想在啟動(dòng)類(lèi)加 @MapperScan 注解,也可在每個(gè) Mapper 接口上增加 @Mapper 注解。

所有配置上面都以完成,是不是很簡(jiǎn)單,接下來(lái)我們對(duì)這張表進(jìn)行CRUD 測(cè)試。

6、CRUD 測(cè)試

我們?cè)诰帉?xiě) UserMapper 接口時(shí),其繼承了一個(gè) BaseMapper 接口:

public interface UserMapper extends BaseMapper< User > {
}

我們進(jìn)入到 BaseMapper 內(nèi)部,發(fā)現(xiàn)其結(jié)構(gòu)如下:

圖片

這些方法便是我們常用的增刪改查了,下面我們分別演示幾個(gè)常用的。

①、insert:新增一條記錄

@SpringBootTest
class MybatisplusstudyApplicationTests {

    @Autowired
    private UserMapper userMapper;


    /**
     * 新增一條記錄
     */
    @Test
    public void testInsert(){
        User user = new User();
        user.setId(3L);
        user.setUserName("test insert");
        user.setUserAge("1");
        int insert = userMapper.insert(user);
        System.out.println("影響記錄數(shù):"+insert);
    }

}

執(zhí)行完畢后,我們查看數(shù)據(jù)庫(kù):

圖片

②、delete:刪除記錄

/**

 * 根據(jù)id刪除一條記錄
   */
   @Test
   public void testDeleteById(){
   int num = userMapper.deleteById(3L);
   System.out.println("刪除的記錄數(shù)為:"+num);
   QueryWrapper wrapper = new QueryWrapper();
   wrapper.eq("id",3L);
   userMapper.delete(wrapper);
   }

/**

 * 構(gòu)造相關(guān)條件刪除記錄
   */
   @Test
   public void testDelete(){
   QueryWrapper wrapper = new QueryWrapper();
   wrapper.eq("USER_NAME","test insert");
   int num = userMapper.delete(wrapper);
   System.out.println("刪除的記錄數(shù)為:"+num);
   }

③、update:修改記錄

/**

 * 根據(jù)id修改
   */
   @Test
   public void testudpateById(){
   User user = new User();
   user.setId(3L);
   user.setUserName("test update");
   int num = userMapper.updateById(user);
   System.out.println("修改的記錄數(shù)為:"+num);
   }

④、select:查詢(xún)記錄

/**

 * 查詢(xún)User表所有記錄
   */
   @Test
   public void testSelectAll(){
   List< User > users = userMapper.selectList(null);
   users.forEach(x- > System.out.println(x.getId()+"-"+x.getUserName()+"-"+x.getUserAge()));
   }

/**

 * 查詢(xún)指定記錄
   */
   @Test
   public void testSelectWrapper(){
   QueryWrapper wrapper = new QueryWrapper();
   wrapper.eq("user_name","IT可樂(lè)");
   List< User > users = userMapper.selectList(wrapper);
   users.forEach(x- > System.out.println(x.getId()+"-"+x.getUserName()+"-"+x.getUserAge()));
   }

發(fā)現(xiàn)沒(méi)有,做增刪改查是如此的絲滑流暢,都不用寫(xiě)SQL語(yǔ)句了。

當(dāng)然,這都只是單表的簡(jiǎn)單玩法,后面我們會(huì)介紹高階玩法。

7、打印SQL語(yǔ)句

這里補(bǔ)充一個(gè)小知識(shí)點(diǎn),通過(guò)如下配置,我們可以查看執(zhí)行的 SQL 語(yǔ)句日志。

在 applicatio.yml 文件中,進(jìn)行如下配置:

# 配置slq打印日志
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

圖片

當(dāng)然,這種配置只是把 SQL 日志打印到控制臺(tái)便于我們調(diào)試,后面會(huì)介紹更加強(qiáng)大的 SQL 分析工具。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7309

    瀏覽量

    93678
  • 開(kāi)發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    376

    瀏覽量

    41961
  • 工程
    +關(guān)注

    關(guān)注

    0

    文章

    167

    瀏覽量

    29642
  • spring
    +關(guān)注

    關(guān)注

    0

    文章

    341

    瀏覽量

    15695
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于ORM的CRUD操作流程概述

    基于ORM的CRUD
    發(fā)表于 07-12 14:16

    如何設(shè)計(jì)一個(gè)MiniGUI可視化開(kāi)發(fā)工具?

    本文設(shè)計(jì)了一個(gè)MiniGUI可視化開(kāi)發(fā)工具,并使用Eclipse GEF(Graphical Editing Framework)實(shí)現(xiàn)。
    發(fā)表于 04-27 06:27

    LDO簡(jiǎn)化開(kāi)關(guān)電源的設(shè)計(jì)

        1. 簡(jiǎn)化開(kāi)關(guān)電源設(shè)計(jì)    開(kāi)關(guān)電源多路輸出一般通過(guò)增加高頻變壓器反饋端來(lái)實(shí)現(xiàn),這使得開(kāi)關(guān)電源在設(shè)計(jì)過(guò)程中增加了設(shè)計(jì)者的工作量。應(yīng)用LDO作為開(kāi)關(guān)電源的輸出終端,可以極大地簡(jiǎn)化開(kāi)
    發(fā)表于 10-29 09:25

    可控硅整流器簡(jiǎn)化開(kāi)了單穩(wěn)態(tài)線(xiàn)圈激勵(lì)器電路圖

    可控硅整流器簡(jiǎn)化開(kāi)了單穩(wěn)態(tài)線(xiàn)圈激勵(lì)器電路圖
    發(fā)表于 07-03 13:57 ?581次閱讀
    可控硅整流器<b class='flag-5'>簡(jiǎn)化開(kāi)</b>了單穩(wěn)態(tài)線(xiàn)圈激勵(lì)器電路圖

    采用GEF的MiniGUI的可視化開(kāi)發(fā)工具技術(shù)

    采用GEF的MiniGUI的可視化開(kāi)發(fā)工具技術(shù) 1  概  述隨著嵌入式系統(tǒng)的廣泛應(yīng)用,圖形用戶(hù)界面(Graphi
    發(fā)表于 04-16 15:10 ?953次閱讀
    采用GEF的MiniGUI的可視<b class='flag-5'>化開(kāi)發(fā)</b>工具技術(shù)

    圖形化開(kāi)發(fā)環(huán)境LabView中文版

    電子發(fā)燒友網(wǎng)站提供《圖形化開(kāi)發(fā)環(huán)境LabView中文版.rar》資料免費(fèi)下載
    發(fā)表于 07-14 17:39 ?0次下載

    如何簡(jiǎn)化開(kāi)關(guān)電源設(shè)計(jì)

    如何簡(jiǎn)化開(kāi)關(guān)電源設(shè)計(jì)
    發(fā)表于 01-14 11:12 ?9次下載

    NI LabVIEW圖形化開(kāi)發(fā)環(huán)境與NI硬件平臺(tái),開(kāi)發(fā)無(wú)人駕駛賽車(chē)

    使用NI LabVIEW圖形化開(kāi)發(fā)環(huán)境與NI硬件平臺(tái)對(duì)智能車(chē)進(jìn)行快速開(kāi)發(fā)、測(cè)試以及原型,從而贏得挑戰(zhàn)賽。
    發(fā)表于 07-19 11:22 ?1828次閱讀

    利用IoT三大核心簡(jiǎn)化開(kāi)發(fā)

    這些框架,最大程度地實(shí)現(xiàn)應(yīng)用互操作性。 以此為基礎(chǔ) 我們正在利用幾乎適合任何環(huán)境的明確策略和獨(dú)特技術(shù),推動(dòng)IoT開(kāi)發(fā)。另外,Qualcomm開(kāi)發(fā)者網(wǎng)絡(luò)還提供一整套學(xué)習(xí)資源,幫助您簡(jiǎn)化設(shè)備和應(yīng)用
    發(fā)表于 09-18 19:21 ?271次閱讀

    如何使用Myeclipse進(jìn)行java可視化開(kāi)發(fā)

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用Myeclipse進(jìn)行java可視化開(kāi)發(fā)。實(shí)現(xiàn)Java的可視化開(kāi)發(fā)
    發(fā)表于 01-10 10:38 ?5次下載
    如何使用Myeclipse進(jìn)行java可視<b class='flag-5'>化開(kāi)發(fā)</b>

    數(shù)據(jù)可視化開(kāi)發(fā)平臺(tái)PageNow上線(xiàn)了

    PageNow是一款基于SpringBoot+Vue構(gòu)建的數(shù)據(jù)可視化開(kāi)發(fā)平臺(tái)。
    的頭像 發(fā)表于 03-02 08:53 ?3989次閱讀

    21489圖形化開(kāi)發(fā)詳解:Fireware的燒寫(xiě)與直通

    本文介紹ADI SHARC DSP圖形化開(kāi)發(fā),在一般我們都是使用vdsp++進(jìn)行c語(yǔ)言開(kāi)發(fā)的,但其實(shí)adsp 21489也可以進(jìn)行圖形化開(kāi)發(fā),使用sigmastudio,非常簡(jiǎn)單和方便。 圖形
    的頭像 發(fā)表于 08-27 15:14 ?8562次閱讀
    21489圖形<b class='flag-5'>化開(kāi)發(fā)</b>詳解:Fireware的燒寫(xiě)與直通

    JavaScript模塊化開(kāi)發(fā)實(shí)驗(yàn)---webpack入門(mén)

    JavaScript模塊化開(kāi)發(fā)實(shí)驗(yàn)---webpack入門(mén)(現(xiàn)代電源技術(shù)試題及答案)-文檔為JavaScript模塊化開(kāi)發(fā)實(shí)驗(yàn)---webpack入門(mén)總結(jié)文檔,是一份不錯(cuò)的參考資料,感興趣的可以下載看看,,,,,,,,,,,,,
    發(fā)表于 09-17 14:49 ?7次下載
    JavaScript模塊<b class='flag-5'>化開(kāi)發(fā)</b>實(shí)驗(yàn)---webpack入門(mén)

    MyBatis Plus如何簡(jiǎn)化開(kāi)發(fā)

    本篇文章,我們通過(guò) MyBatis Plus 來(lái)對(duì)一張表進(jìn)行 CRUD 操作,來(lái)看看是如何簡(jiǎn)化我們開(kāi)發(fā)的。 1、創(chuàng)建測(cè)試表 創(chuàng)建 USER 表: DROP TABLE IF EXISTS
    的頭像 發(fā)表于 10-09 15:08 ?824次閱讀
    MyBatis Plus如何<b class='flag-5'>簡(jiǎn)化開(kāi)發(fā)</b>

    Arm推出GitHub平臺(tái)AI工具,簡(jiǎn)化開(kāi)發(fā)者AI應(yīng)用開(kāi)發(fā)部署流程

    軟件提供了無(wú)縫的開(kāi)發(fā)體驗(yàn)。 GitHub Actions、原生 GitHub 運(yùn)行器和基于 Arm 平臺(tái)的 AI 框架相結(jié)合,幫助全球 2,000 萬(wàn)開(kāi)發(fā)簡(jiǎn)化 AI 應(yīng)用開(kāi)發(fā)
    的頭像 發(fā)表于 10-31 18:51 ?3622次閱讀