最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis plus結合springboot使用

 更新時間:2024年11月25日 10:15:31   作者:wx661607c93692e  
本文主要介紹了MyBatisPlus使用SpringBoot數(shù)據(jù)庫操作,從添加依賴到測試,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

使用 MyBatis Plus 結合 Spring Boot 可以極大地簡化數(shù)據(jù)庫操作。MyBatis Plus 是 MyBatis 的增強工具,旨在簡化開發(fā)、提高效率。

1. 添加依賴

首先,在 pom.xml 文件中添加 MyBatis Plus 和 Spring Boot 的相關依賴。

<dependencies>
    <!-- Spring Boot Starter Web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- Spring Boot Starter Data JPA -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <!-- MyBatis Plus -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.3</version>
    </dependency>

    <!-- MySQL Connector -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.23</version>
    </dependency>

    <!-- Lombok for getter/setter/toString/etc. -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.20</version>
        <scope>provided</scope>
    </dependency>

    <!-- Spring Boot Starter Test -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

2. 配置數(shù)據(jù)庫連接

在 application.properties 或 application.yml 文件中配置數(shù)據(jù)庫連接信息。

application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# MyBatis Plus 配置
mybatis-plus.mapper-locations=classpath*:mapper/*.xml
mybatis-plus.type-aliases-package=com.yourpackage.entity

application.yml
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC
    username: your_username
    password: your_password
    driver-class-name: com.mysql.cj.jdbc.Driver

# MyBatis Plus 配置
mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
  type-aliases-package: com.yourpackage.entity

3. 創(chuàng)建實體類

使用 Lombok 注解來減少樣板代碼。

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

@Data
@TableName("user")
public class User {
    @TableId
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

4. 創(chuàng)建 Mapper 接口

繼承 BaseMapper 接口,MyBatis Plus 提供了許多便捷的方法。

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper extends BaseMapper<User> {
}

5. 創(chuàng)建 Service 層

創(chuàng)建服務層來處理業(yè)務邏輯。

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

@Service
public class UserService extends ServiceImpl<UserMapper, User> {
    // 可以添加自定義的業(yè)務方法
}

6. 創(chuàng)建 Controller 層

創(chuàng)建控制器層來處理 HTTP 請求。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping
    public List<User> getAllUsers() {
        return userService.list();
    }

    @GetMapping("/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.getById(id);
    }

    @PostMapping
    public boolean addUser(@RequestBody User user) {
        return userService.save(user);
    }

    @PutMapping("/{id}")
    public boolean updateUser(@PathVariable Long id, @RequestBody User user) {
        user.setId(id);
        return userService.updateById(user);
    }

    @DeleteMapping("/{id}")
    public boolean deleteUser(@PathVariable Long id) {
        return userService.removeById(id);
    }
}

7. 啟動類

確保啟動類位于正確的包路徑下,以便 Spring Boot 自動掃描到所有組件。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

8. 測試

啟動應用并測試各個接口是否正常工作。

mvn spring-boot:run

快捷方式和最佳實踐

  • Lombok:使用 Lombok 可以大大減少樣板代碼,如 getter、setter、toString 等。
  • 全局異常處理:使用 @ControllerAdvice 注解創(chuàng)建全局異常處理器,統(tǒng)一處理異常。
  • 分頁查詢:MyBatis Plus 提供了內置的分頁支持,使用 Page 對象即可輕松實現(xiàn)分頁查詢。
  • 事務管理:使用 @Transactional 注解管理事務,確保數(shù)據(jù)的一致性和完整性。
  • 日志記錄:使用 logback 或 log4j2 配置日志記錄,方便調試和監(jiān)控。

到此這篇關于Mybatis plus結合springboot使用的文章就介紹到這了,更多相關Mybatis plus結合springboot內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java實現(xiàn)從網絡下載多個文件

    java實現(xiàn)從網絡下載多個文件

    這篇文章主要為大家詳細介紹了java實現(xiàn)從網絡下載多個文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 一文搞懂Java?JDBC中的SQL注入問題

    一文搞懂Java?JDBC中的SQL注入問題

    在用戶輸入的數(shù)據(jù)中有SQL關鍵字或語法,并且關鍵字或語法參與了SQL語句的編譯,導致SQL語句編譯后的條件為true,一直得到正確的結果,這種現(xiàn)象就是SQL注入,這篇文章主要介紹了一文搞懂Java?JDBC中的SQL注入問題,需要的朋友可以參考下
    2022-10-10
  • IDEA如何切換JDK版本

    IDEA如何切換JDK版本

    本文主要介紹了IDEA如何切換JDK版本,JDK版本之間的關系是一個向后兼容的關系,所以我們需要切換JDK的版本號,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • 關于Java中重定向傳參與取值

    關于Java中重定向傳參與取值

    這篇文章主要介紹了Java中重定向傳參與取值問題,重定向不僅可以重定向到當前應用程序中的其他資源,還可以重定向到同一個站點上的其他應用程序中的資源,甚至是使用絕對URL重定向到其他站點的資源,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • java多線程應用實現(xiàn)方法

    java多線程應用實現(xiàn)方法

    以前沒有寫筆記的習慣,現(xiàn)在慢慢的發(fā)現(xiàn)及時總結是多么的重要了,呵呵。雖然才大二,但是也快要畢業(yè)了,要加油
    2012-11-11
  • MyBatis if choose 動態(tài) SQL的實現(xiàn)

    MyBatis if choose 動態(tài) SQL的實現(xiàn)

    本文主要介紹了MyBatis if choose 動態(tài) SQL的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-05-05
  • 記一次Feign中實現(xiàn)傳實體Bean的問題

    記一次Feign中實現(xiàn)傳實體Bean的問題

    這篇文章主要介紹了記一次Feign中如何傳實體Bean的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java中Stream?Filter多條件篩選過濾代碼舉例

    Java中Stream?Filter多條件篩選過濾代碼舉例

    這篇文章主要給大家介紹了關于Java中Stream?Filter多條件篩選過濾的相關資料,Java Stream中的filter方法可以使用多個條件來過濾數(shù)據(jù),文中給出了詳細的代碼示例,需要的朋友可以參考下
    2023-12-12
  • Springboot整合策略模式詳解

    Springboot整合策略模式詳解

    這篇文章主要介紹了Springboot整合策略模式詳解的相關資料,需要的朋友可以參考下
    2023-01-01
  • Java CountDownLatch計數(shù)器與CyclicBarrier循環(huán)屏障

    Java CountDownLatch計數(shù)器與CyclicBarrier循環(huán)屏障

    CountDownLatch是一種同步輔助,允許一個或多個線程等待其他線程中正在執(zhí)行的操作的ASET完成。它允許一組線程同時等待到達一個共同的障礙點
    2023-04-04

最新評論

贵南县| 徐州市| 荆州市| 宣城市| 和平县| 博爱县| 晋江市| 上犹县| 古田县| 得荣县| 涟源市| 闽清县| 蒲城县| 抚州市| 镇康县| 永平县| 射洪县| 阳谷县| 高碑店市| 林口县| 新疆| 武乡县| 镇原县| 赣榆县| 磐安县| 台山市| 连州市| 如东县| 台安县| 丽水市| 玛多县| 田阳县| 马公市| 宝坻区| 灵台县| 富民县| 平顶山市| 额敏县| 德令哈市| 垦利县| 宝鸡市|