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

Spring Boot對接Oracle數(shù)據(jù)庫

這篇具有很好參考價值的文章主要介紹了Spring Boot對接Oracle數(shù)據(jù)庫。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Spring Boot對接Oracle數(shù)據(jù)庫

最近學習了Oracle數(shù)據(jù)庫,那么如何使用Spring Boot和MyBatis Plus對接Oracle數(shù)據(jù)庫呢?
這就有了這篇隨記,具體流程如下

1、創(chuàng)建Maven工程

創(chuàng)建一個空的Maven工程,導入如下依賴:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.7.RELEASE</version>
        <relativePath/>
    </parent>
    <groupId>org.example</groupId>
    <artifactId>oracle-init</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <version>2.3.7.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>2.3.7.RELEASE</version>
        </dependency>
        <!--    Oracel11g與ojdbc5/ojdbc6版本匹配    -->
        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.4</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.10</version>
            <scope>provided</scope>
        </dependency>

<!--        <dependency>-->
<!--            <groupId>com.oracle.database.jdbc</groupId>-->
<!--            <artifactId>ojdbc8</artifactId>-->
<!--            <version>19.8.0.0</version>-->
<!--        </dependency>-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>RELEASE</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
</project>

tips:這里碰到一個坑,我本機適用的Oracle數(shù)據(jù)庫版本是11g XE,所以要使用的驅動為ojdbc5/ojdbc6,不然連接老會失敗。

2、application.yml

在配置文件中填寫數(shù)據(jù)庫連接的參數(shù)

spring:
  datasource:
      username: pp
      password: 123456
      url: jdbc:oracle:thin:@localhost:1521:XE
      driver-class-name: oracle.jdbc.OracleDriver

參數(shù)說明:

  • username:數(shù)據(jù)庫連接用戶名
  • password:數(shù)據(jù)庫連接密碼
  • url:連接地址
  • driver-class-name:數(shù)據(jù)庫驅動

3、創(chuàng)建實例數(shù)據(jù)表

為了演示本次對接Oracle數(shù)據(jù)庫,我們需要一張測試數(shù)據(jù)表

3.1創(chuàng)建Users數(shù)據(jù)表,SQL如下:

CREATE TABLE users (
  id INT PRIMARY KEY,
  username VARCHAR(50) NOT NULL,
  password VARCHAR(50) NOT NULL,
  email VARCHAR(100) NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

什么?沒有測試數(shù)據(jù)?。?!Orz…
這里可以使用Oracle數(shù)據(jù)庫的PL/SQL編程來批量生成測試數(shù)據(jù),真香?。?/p>

3.2PL/SQL批量生產測試數(shù)據(jù)

sql如下:

DECLARE
  TYPE user_type IS RECORD (
    id NUMBER,
    username VARCHAR2(50),
    email VARCHAR2(100),
    password VARCHAR2(100),
    created_at DATE
  );

  TYPE user_list IS TABLE OF user_type;

  l_users user_list := user_list();
BEGIN
  FOR i IN 1..100 LOOP
    l_users.extend;
    l_users(i).id := i;
    l_users(i).username := 'user' || i;
    l_users(i).email := 'user' || i || '@example.com';
    l_users(i).password := 'password' || i;
    l_users(i).created_at := SYSDATE; -- 使用當前時間作為創(chuàng)建時間
  END LOOP;

  FORALL i IN 1..l_users.COUNT
    INSERT INTO users (id, username, email, password, created_at)
    VALUES (l_users(i).id, l_users(i).username, l_users(i).email, l_users(i).password, l_users(i).created_at);

  COMMIT;
  DBMS_OUTPUT.PUT_LINE('Data inserted successfully.');
EXCEPTION
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('Error: ' || SQLERRM);
    ROLLBACK;
END;

執(zhí)行之后查看數(shù)據(jù)表中的數(shù)據(jù):
springboot連接oracle,數(shù)據(jù)庫,spring boot,oracle
OK!準備工作完成,接下來就可以進行對接了。

4、使用MP對Oracle進行CRUD

4.1創(chuàng)建實體類

User:

/**
 * TODO User實體類
 * @version 1.0
 * @author ss_419
 * @date 2023/8/11 14:49
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
// 指定Oracle數(shù)據(jù)庫中的表名
@TableName("users")
public class User {
    private Long id;
    private String username;
    private String password;
    private String email;
    private Date created_at;
}

4.2、創(chuàng)建Mapper

/**
 * @author ss_419
 */
@Mapper
public interface UserRepository extends BaseMapper<User> {
    // 這里可以自定義一些數(shù)據(jù)庫操作方法
}

4.3、創(chuàng)建Service

/**
 * @author ss_419
 */
@Service
public class UserService
        extends ServiceImpl<UserRepository, User> {
    // 這里可以編寫一些業(yè)務邏輯方法
    private final UserRepository userRepository;

    @Autowired
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }
    public List<User> getAllUsers() {
        List<User> users = userRepository.selectList(null);
        return users;
    }

    public User getUserById(Long id) {
        return userRepository.selectById(id);
    }

    public void saveUser(User user) {
        userRepository.insert(user);
    }

    public void updateUser(User user) {
        userRepository.updateById(user);
    }

    public void deleteUser(Long id) {
        userRepository.deleteById(id);
    }
}

4.4、創(chuàng)建啟動器

@SpringBootApplication
// Mapper包掃描
@MapperScan("org.example.mapper")
public class OracleDBApplication {
    public static void main(String[] args) {
        SpringApplication.run(OracleDBApplication.class,args);
    }
}

5、測試

萬事俱備,只欠東風,對CRUD進行測試。文章來源地址http://www.zghlxwxcb.cn/news/detail-700450.html

@SpringBootTest
public class OraCTest {
    @Autowired
    private UserService service;

    /**
     * 獲取所有用戶信息
     */
    @Test
    public void testGetAllUsers() {
        List<User> users = service.getAllUsers();
        users.forEach(System.out::println);
    }

    /**
     * 根據(jù)id獲取用戶
     */
    @Test
    public void testGetUserById() {
        User userById = service.getUserById(1L);
        System.out.println("userById = " + userById);
    }

    /**
     * 保存用戶
     */
    @Test
    public void testSaveUser() {
        User user = new User();
        user.setId(1000L);
        user.setUsername("測試新增User");
        user.setPassword("00101010");
        user.setEmail("test@example.com");
        user.setCreated_at(new Date());
        service.saveUser(user);
    }

    /**
     * 更新用戶
     */
    @Test
    public void testUpdateUser() {
        // 先查詢
        User user = service.getUserById(1000L);
        System.out.println("userById = " + user);
        // 后更新
        user.setUsername("update_username");
        service.updateUser(user);
    }

    /**
     * 根據(jù)id刪除用戶
     */
    @Test
    public void testDeleteUser() {
        service.deleteUser(1000L);
    }
}

到了這里,關于Spring Boot對接Oracle數(shù)據(jù)庫的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 【Spring Boot】Spring Boot 配置 Hikari 數(shù)據(jù)庫連接池

    數(shù)據(jù)庫連接池是一個提高程序與數(shù)據(jù)庫的連接的優(yōu)化,連接池它主要作用是提高性能、節(jié)省資源、控制連接數(shù)、連接管理等操作; 程序中的線程池與之同理,都是為了優(yōu)化、提高性能。

    2024年02月11日
    瀏覽(29)
  • Spring Boot:數(shù)據(jù)庫的整合

    Spring Boot:數(shù)據(jù)庫的整合

    在 Spring Boot :Web開發(fā)之視圖模板技術的整合 文章中,介紹了 Spring Boot 整合視圖模板技術。然而,僅僅整合視圖模板技術可能還不能滿足所有業(yè)務需求,因此還需要進一步擴展 Spring MVC 的默認配置。 簡單補充說明 : 擴展 Spring Boot 中的 Spring MVC 默認配置通常涉及實現(xiàn) WebMvcC

    2024年04月13日
    瀏覽(33)
  • 【Spring Boot】通過AOP攔截Spring Boot日志并將其存入數(shù)據(jù)庫

    【Spring Boot】通過AOP攔截Spring Boot日志并將其存入數(shù)據(jù)庫

    在軟件開發(fā)中,常常需要記錄系統(tǒng)運行時的日志。日志記錄有助于排查系統(tǒng)問題、優(yōu)化系統(tǒng)性能、監(jiān)控操作行為等。本文將介紹如何使用Spring Boot和AOP技術實現(xiàn)攔截系統(tǒng)日志并保存到數(shù)據(jù)庫中的功能。 本文將通過以下步驟實現(xiàn)攔截系統(tǒng)日志并保存到數(shù)據(jù)庫中的功能: 配置數(shù)據(jù)

    2024年02月10日
    瀏覽(21)
  • Spring Boot如何訪問不同的數(shù)據(jù)庫

    ????????在Spring Boot應用中連接多個數(shù)據(jù)庫或數(shù)據(jù)源可以使用多種方式,下面介紹兩種常用的方法: 1、使用Spring Boot官方支持的多數(shù)據(jù)源配置 ? ? ? ? spring boot提供了官方支持的多數(shù)據(jù)源配置,可以簡單地配置和管理多個數(shù)據(jù)源。 ????????需要在application.properties文件中

    2024年02月13日
    瀏覽(31)
  • Spring Boot項目實現(xiàn)無數(shù)據(jù)庫啟動

    Spring Boot項目實現(xiàn)無數(shù)據(jù)庫啟動

    今天需要創(chuàng)建一個不連接數(shù)據(jù)庫的Spring Boot工程, 結果一切配置好后項目卻啟動失敗, 提示如下: 查詢了一下資料, 發(fā)現(xiàn)原來Spring Boot啟動時是默認是要連接數(shù)據(jù)庫的, 這樣一來只需要把數(shù)據(jù)庫的一些配置排除掉就可以了: 重新啟動, 項目成功運行了。另外, pom.xml文件中也不要引入

    2024年02月15日
    瀏覽(24)
  • Spring Boot MySQL數(shù)據(jù)庫的使用

    Spring Boot MySQL數(shù)據(jù)庫的使用

    目錄 簡介Spring Boot Spring Boot的優(yōu)點 Spring Boot連接數(shù)據(jù)庫 1.添加依賴 1.2開啟連接數(shù)據(jù)庫 1.2.1 如果沒有開啟數(shù)據(jù)庫運行程序的時候會出現(xiàn)這樣的報錯這就是沒有連接數(shù)據(jù)庫,所以我們開啟數(shù)據(jù)庫即可使用。 1.2.2 我的名字是MySQL110所以一會用命令字符開啟數(shù)據(jù)庫的時候用的就是這

    2024年04月10日
    瀏覽(22)
  • 【Spring Boot】數(shù)據(jù)庫持久層框架MyBatis — Spring Boot構建MyBatis應用程序

    Spring Boot是用于快速構建Spring應用程序的框架。MyBatis是一種Java持久化框架,可以幫助開發(fā)人員輕松地管理數(shù)據(jù)庫。將Spring Boot與MyBatis結合使用可以使開發(fā)人員更容易地創(chuàng)建和管理數(shù)據(jù)庫應用程序。 以下是使用Spring Boot構建MyBatis應用程序的步驟: 添加MyBatis依賴項:在項目的

    2024年02月10日
    瀏覽(29)
  • Spring Boot應用中如何動態(tài)指定數(shù)據(jù)庫,實現(xiàn)不同用戶不同數(shù)據(jù)庫的場景

    當在 Spring Boot 應用程序中使用Spring Data JPA 進行數(shù)據(jù)庫操作時,配置Schema名稱是一種常見的做法。然而,在某些情況下,模式名稱需要是動態(tài)的,可能會在應用程序運行時發(fā)生變化。比如:需要做數(shù)據(jù)隔離的SaaS應用。 所以,這篇博文將幫助您解決了在 Spring Boot 應用程序中如

    2024年04月26日
    瀏覽(28)
  • Spring Boot集成JPA和ClickHouse數(shù)據(jù)庫

    Spring Boot是一個用于創(chuàng)建獨立的、基于Spring的應用程序的框架。它具有快速開發(fā)特性,可以大大減少開發(fā)人員的工作量。JPA(Java Persistence API)是Java中處理關系型數(shù)據(jù)庫持久化的標準規(guī)范,而ClickHouse是一個高性能、分布式的列式數(shù)據(jù)庫。 本文將介紹如何在Spring Boot項目中集成

    2024年02月09日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包