目錄
第一:建立MySQL資料庫
第二:建立SpringBoot項目,引入需要的依賴套件
第三:創建程序目錄和配置核心application.xml文件
第五:测试结果(这里我用的postman来进行接口测试)
首頁 Java java教程 SpringBoot怎麼整合Mybatis實現增刪改查

SpringBoot怎麼整合Mybatis實現增刪改查

May 13, 2023 am 10:37 AM
mybatis springboot

第一:建立MySQL資料庫

首先我們應該先建立一個資料庫,用於操作我們CRUD的資料(可以使用視覺化工具進行創建,也可以使用SQL指令進行建立),資料庫的名字可以自己定義,創建完資料庫之後,我們就要創建表進行資料的儲存了,表的名字叫’ user ‘表,字段可以自己設置,只要和後邊自己創建的實體對應就好了。

SpringBoot怎麼整合Mybatis實現增刪改查

CREATE TABLE `user` (
  `userId` bigint NOT NULL AUTO_INCREMENT,
  `userName` varchar(255) COLLATE utf8mb4_bin NOT NULL,
  `userAddress` varchar(255) COLLATE utf8mb4_bin NOT NULL,
  PRIMARY KEY (`userId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
登入後複製

第二:建立SpringBoot項目,引入需要的依賴套件

用IDEA建立SpringBoot項目:

  • #1、選擇Spring Initializr創建,然後JDK選擇1.8,Java8版本。

  • 2、初始化元件選擇Spring Web、JDBC API、Mybatis Framework、MySQL Driver,Lombok也可以選擇一下,可能會用到。

  • 3、選擇好了之後點選Finish創建就好了。

  • 4、創建好了SpringBoot之後看看自己的Maven有沒用配置好,如果沒有配置好去查詢如何配置Maven,不然你的pom依賴是加載不了的,就下載Maven,如何換個阿里源鏡像位址和本地倉庫,然後IDEA選擇一下Maven的xml檔案和本地倉庫位址就好了。

SpringBoot怎麼整合Mybatis實現增刪改查

SpringBoot怎麼整合Mybatis實現增刪改查

SpringBoot怎麼整合Mybatis實現增刪改查

SpringBoot怎麼整合Mybatis實現增刪改查

#以上是所需要的依賴包,如果忘記引入的,可以直接添加即可,不用再重新創建項目了

第三:創建程序目錄和配置核心application.xml文件

#首先需要建立四個資料夾,分別是:Entity(使用者實體)、Controller、Service、Dao,然後還需要在resource 目錄下新建Mapper 目錄,這個Mapper 目錄是用來存放SQL 語句的地方。到這裡我覺得需要理解MVC模式,由於我們的存取一層呼叫一層,然後查詢到資料之後再回到過去的,所以我們的層級應該是:Controller(控制層,也是接收前端傳遞參數的層) -> Service(業務層,我們所有的業務,如判斷和一些循環語句就需要寫到這個層當中) -> Dao(持久層,這個層主要是和數據庫打交道的,主要負責數據的操作,也就是CRUD操作) -> 資料庫,

##如下圖所示:

SpringBoot怎麼整合Mybatis實現增刪改查

沒有啥好的畫圖工具,就隨便畫了一下,反正數據的流向就是這樣的,大家可以湊合來看一下。

SpringBoot怎麼整合Mybatis實現增刪改查

在resources資料夾下建立yml文件,並輸入以下內容:

server:
  port: 8080    //本机的端口号
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/自己数据库的名称?useUnicode=true & characterEncoding=utf-8 &
      useSSL=true & serverTimezone=Asia/Shanghai
    username: root      //数据库的用户名
    password: xxxxxx    //数据库的密码

mybatis:
  mapper-locations: classpath:/Mapper/*.xml
  type-aliases-package: com.example.test.Entity    //这个是扫描到Entity实体包的路径,可根据自己的配置
登入後複製

SpringBoot怎麼整合Mybatis實現增刪改查

配置好yml檔案之後,我們去看右側的Databases去看看能不能連接自己本地的MySQL資料庫:

SpringBoot怎麼整合Mybatis實現增刪改查

SpringBoot怎麼整合Mybatis實現增刪改查

#依序分別填,資料表名字(這裡我們的表是user表),使用者名稱和密碼、還有資料庫名稱

第四:依序寫Entity、Dao、Service、Controller層,還有建立mapper.xml檔案

Entity套件:建立一個UserEntity類,內容如下:

public class UserEntity {
    private Integer userId;
    private String userName;
    private String userAddress;

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserAddress() {
        return userAddress;
    }

    public void setUserAddress(String userAddress) {
        this.userAddress = userAddress;
    }
}
登入後複製

Dao套件:建立一個UserDao接口,內容如下:

import com.example.test.Entity.UserEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface UserDao {
     List<UserEntity> queryLimit(Integer currentPage, Integer pageSize);

     Integer addUser(UserEntity user);

     Integer updateUser(UserEntity user);

     Integer deleteUser(UserEntity user);
}
登入後複製

Service套件:建立一個UserService類,內容如下:

import com.example.test.Dao.UserDao;
import com.example.test.Entity.UserEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service("UserService")
public class UserService {
    @Autowired
    private UserDao userDao;

    public List<UserEntity> queryLimit(Integer currentPage,Integer pageSzie){
        return userDao.queryLimit(currentPage,pageSzie);
    }

    public Integer addUser(UserEntity user){
        return userDao.addUser(user);
    }

    public Integer updateUser(UserEntity user){
        return userDao.updateUser(user);
    }

    public Integer deleteUser(UserEntity user){
        return userDao.deleteUser(user);
    }
}
登入後複製

Controller套件:建立一個UserController類,內容為:

SpringBoot怎麼整合Mybatis實現增刪改查

import com.example.test.Entity.UserEntity;
import com.example.test.Service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("user")
public class UserController {
    @Autowired
    private UserService userService;

    String message = "";
    @RequestMapping("/queryLimit")
    public List<UserEntity> queryLimit(@RequestParam("currentPage") Integer currentPage,@RequestParam("pageSize") Integer pageSize){
        return userService.queryLimit(currentPage,pageSize);
    }

    @PostMapping("/addUser")
    public String addUer(@RequestBody UserEntity user){
        //用Mybatis执行insert语句的时候,插入成功会返回1,不成功则会抛出异常,捕获一下异常就好
        try {
            userService.addUser(user);
            message = "增加用户成功";
        }catch (Exception exception){
            message = "增加用户异常";
        }
        return message;
    }

    @PutMapping("/updateUser")
    public String updateUser(@RequestBody UserEntity user){
        //Mybatis的更新操作成功返回1,用户不存在返回0,失败则抛异常
        try {
            message = userService.updateUser(user) == 1?"更新用户成功":"用户不存在,更新失败";
        }catch (Exception exception){
            message = "更新异常";
        }
        return message;
    }

    @DeleteMapping("/deleteUser")
    public String deleteUser(@RequestBody UserEntity user){
        //Mybatis的删除操作和更新返回值一样,成功返回1,用户不存在返回0,失败则抛异常
        try {
            message = userService.deleteUser(user) == 1?"删除用户成功":"用户不存在,删除失败";
        }catch (Exception exception){
            message = "删除异常";
        }
        return message;
    }
}
登入後複製

######寫完上面的內容之後我們需要在Mapper資料​​夾下建立mapper.xml文件,如下圖:############ ######

mapper.xml文件内容如下:需要注意的地方是namespace:这个路径是你的UserDao接口的路径,因为你传过来的数据需要和xml进行一个绑定,这样你编写的SQL语句才能接收到你前端传过来的数据(大体意思可以这么理解),而id则是和你UserDao中的接口方法相对应,比如我的UserDao接口中的查找方法命名是queryLimit,那么我在xml文件中的查询语句的id就应该和queryLimit想对应,即:id=“queryLimit”。
resultType是返回数据的类型
parameterType则是传入的数据类型

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.test.Dao.UserDao">
    <select id="queryLimit" resultType="UserEntity">
        select * from user limit #{currentPage},#{pageSize};
    </select>

    <insert id="addUser" parameterType="UserEntity">
        insert into user(userName,userAddress) values(#{userName},#{userAddress});
    </insert>

    <update id="updateUser" parameterType="UserEntity">
        update user set userName=#{userName},userAddress=#{userAddress} where userId=#{userId};
    </update>

    <delete id="deleteUser" parameterType="UserEntity">
        delete from user where userId=#{userId};
    </delete>
</mapper>
登入後複製

最后我们需要在启动类加一点东西(MapperScan扫描的是我们Dao包的地址,填写自己的就好)

SpringBoot怎麼整合Mybatis實現增刪改查

第五:测试结果(这里我用的postman来进行接口测试)

查询用户数据->地址为:http://localhost:8080/user/queryLimit?currentPage=0&pageSize=5

SpringBoot怎麼整合Mybatis實現增刪改查

添加用户数据-> 地址为:http://localhost:8080/user/addUser

SpringBoot怎麼整合Mybatis實現增刪改查

数据库也能看到数据:

SpringBoot怎麼整合Mybatis實現增刪改查

更新用户数据-> 地址为:http://localhost:8080/user/updateUser

SpringBoot怎麼整合Mybatis實現增刪改查

更新之后数据库数据为:

SpringBoot怎麼整合Mybatis實現增刪改查

删除用户数据-> 地址为:http://localhost:8080/user/deleteUser

SpringBoot怎麼整合Mybatis實現增刪改查

查看数据库数据已经删除:

SpringBoot怎麼整合Mybatis實現增刪改查

以上是SpringBoot怎麼整合Mybatis實現增刪改查的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1653
14
CakePHP 教程
1413
52
Laravel 教程
1304
25
PHP教程
1251
29
C# 教程
1224
24
iBatis和MyBatis:哪個比較適合你? iBatis和MyBatis:哪個比較適合你? Feb 19, 2024 pm 04:38 PM

iBatis與MyBatis:你該選擇哪一個?簡介:隨著Java語言的快速發展,許多持久化框架也應運而生。 iBatis和MyBatis是兩個備受歡迎的持久化框架,它們都提供了一個簡單而高效的資料存取解決方案。本文將介紹iBatis和MyBatis的特點和優勢,並給出一些具體的程式碼範例,幫助你選擇合適的框架。 iBatis簡介:iBatis是一個開源的持久化框架

比較分析JPA和MyBatis的功能和性能 比較分析JPA和MyBatis的功能和性能 Feb 19, 2024 pm 05:43 PM

JPA和MyBatis:功能與效能比較分析引言:在Java開發中,持久化框架扮演著非常重要的角色。常見的持久化框架包括JPA(JavaPersistenceAPI)和MyBatis。本文將對這兩個框架的功能和效能進行比較分析,並提供具體的程式碼範例。一、功能對比:JPA:JPA是JavaEE的一部分,提供了一個物件導向的資料持久化解決方案。它透過註解或X

詳解MyBatis動態SQL標籤中的Set標籤功能 詳解MyBatis動態SQL標籤中的Set標籤功能 Feb 26, 2024 pm 07:48 PM

MyBatis動態SQL標籤解讀:Set標籤用法詳解MyBatis是一個優秀的持久層框架,它提供了豐富的動態SQL標籤,可以靈活地建構資料庫操作語句。其中,Set標籤是用來產生UPDATE語句中SET子句的標籤,在更新作業中非常常用。本文將詳細解讀MyBatis中Set標籤的用法,以及透過具體的程式碼範例來示範其功能。什麼是Set標籤Set標籤用於MyBati

實作MyBatis中批次刪除操作的多種方式 實作MyBatis中批次刪除操作的多種方式 Feb 19, 2024 pm 07:31 PM

MyBatis中實現批量刪除語句的幾種方式,需要具體程式碼範例近年來,由於資料量的不斷增加,批量操作成為了資料庫操作的一個重要環節之一。在實際開發中,我們經常需要批量刪除資料庫中的記錄。本文將重點介紹在MyBatis中實作批量刪除語句的幾種方式,並提供相應的程式碼範例。使用foreach標籤實作批量刪除MyBatis提供了foreach標籤,可以方便地遍歷一個集

MyBatis批次刪除語句的使用方法詳解 MyBatis批次刪除語句的使用方法詳解 Feb 20, 2024 am 08:31 AM

MyBatis批量刪除語句的使用方法詳解,需要具體程式碼範例引言:MyBatis是一款優秀的持久層框架,提供了豐富的SQL操作功能。在實際專案開發中,經常會遇到需要大量刪除資料的情況。本文將詳細介紹MyBatis批量刪除語句的使用方法,並附上具體的程式碼範例。使用場景:在資料庫中刪除大量資料時,逐條執行刪除語句效率低。此時,可以使用MyBatis的批次刪除功能

MyBatis快取機制詳解:一文讀懂快取儲存原理 MyBatis快取機制詳解:一文讀懂快取儲存原理 Feb 23, 2024 pm 04:09 PM

MyBatis快取機制詳解:一文讀懂快取儲存原理引言在使用MyBatis進行資料庫存取時,快取是一個非常重要的機制,能夠有效減少對資料庫的訪問,提高系統效能。本文將詳細介紹MyBatis的快取機制,包括快取的分類、儲存原理和具體的程式碼範例。一、快取的分類MyBatis的快取主要分為一級快取和二級快取兩種。一級緩存一級緩存是SqlSession級別的緩存,當在

MyBatis 一級快取詳解:如何提升資料存取效率? MyBatis 一級快取詳解:如何提升資料存取效率? Feb 23, 2024 pm 08:13 PM

MyBatis一級快取詳解:如何提升資料存取效率?在開發過程中,高效率的資料存取一直是程式設計師關注的焦點之一。而對於MyBatis這樣的持久層框架而言,快取是提升資料存取效率的關鍵方法之一。 MyBatis提供了一級快取和二級快取兩種快取機制,其中一級快取是預設開啟的。本文將詳細介紹MyBatis一級快取的機制,並提供具體的程式碼範例,幫助讀者更好地理

深入理解MyBatis中的批次Insert實作原理 深入理解MyBatis中的批次Insert實作原理 Feb 21, 2024 pm 04:42 PM

MyBatis是一款流行的Java持久層框架,廣泛應用於各種Java專案。其中,批次插入是常見的操作,可以有效提升資料庫操作的效能。本文將深入探討MyBatis中批量的Insert實作原理,並結合具體的程式碼範例進行詳細解析。 MyBatis中的批次Insert在MyBatis中,批量Insert操作通常使用動態SQL來實作。透過建構一條包含多個插入值的S

See all articles