Oracle數(shù)據(jù)庫基本操作及Spring整合Oracle數(shù)據(jù)庫詳解
一、Oracle數(shù)據(jù)庫介紹
1、Oracle: 中文意思:神諭 是由美國Oracle公司開發(fā)的一個(gè)面向?qū)ο?、關(guān)系型大型數(shù)據(jù)庫。
版本:2.0 3.0 ..... 9i(Internet) 10g(g:網(wǎng)格) 11g 12C
2、Oracle數(shù)據(jù)庫的特點(diǎn)
大型的、安全性高、費(fèi)用高
3、Oracle數(shù)據(jù)庫的基本操作(權(quán)限)
默認(rèn)三個(gè)角色:Sys (超級(jí)) System(DBA:數(shù)據(jù)庫管理員) scott(學(xué)習(xí)賬號(hào)) tiger
所有的操作都必須有權(quán)限:System
Sql:
DDL: 數(shù)據(jù)定義語言(create drop alter)
DCL: 數(shù)據(jù)控制語言(Grant:授權(quán) Revoke:收回 Deny:拒絕)
例如:授予某個(gè)用戶的select權(quán)限:
Grant select on 表名 to 用戶 Grant select,update,delete on 表名 to 用戶 Revoke select on 表名 from 用戶
DML:數(shù)據(jù)操作語言:update delete insert
DQL: 數(shù)據(jù)查詢語言: select
TCL: 事務(wù)控制語言: commit rollback
創(chuàng)建表空間

刪除表空間

創(chuàng)建用戶

授權(quán):授權(quán)abc用戶可以連接(connect)且操作資源(resouce)

二、SpringBoot整合oracle
導(dǎo)入依賴
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>oracle-test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>oracle-test</name>
<description>oracle-test</description>
<properties>
<java.version>17</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>3.0.2</spring-boot.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--解決中文亂碼問題-->
<dependency>
<groupId>cn.easyproject</groupId>
<artifactId>orai18n</artifactId>
<version>12.1.0.2.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>17</source>
<target>17</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<mainClass>com.song.OracleTestApplication</mainClass>
<skip>true</skip>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>配置文件
spring:
datasource:
username: abc
password: abc123
driver-class-name: oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:@localhost:1521:orcl
jpa:
show-sql: true
hibernate:
ddl-auto: update
database: oracle實(shí)體類
package com.damo.pojo;
import jakarta.persistence.*;
import lombok.Data;
/**
* @author Damo
* @date 2024/10/24 0018
* @time 16:02
*/
@Entity
@Table(name = "t_book")
@Data
public class Book {
@Id @GeneratedValue(strategy = GenerationType.SEQUENCE)
private Integer id;
private String title;
private String author;
private Integer price;
}Dao
public interface BookDao extends JpaRepository<Book,Integer> {
}測試
package com.damo;
import com.damo.dao.BookDao;
import com.damo.pojo.Book;
import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class OracleTestApplicationTests {
@Resource
private BookDao bookService;
@Test
void contextLoads() {
//新增
Book book =new Book();
book.setAuthor("zhangs");
book.setPrice(100);
book.setTitle("測試");
this.bookService.save(book);
}
@Test
public void list(){
//查詢列表
this.bookService.findAll().forEach(System.out::println);
}
@Test
public void delete(){
//刪除
this.bookService.deleteById(1);
}
@Test
public void update(){
//修改
Book book = this.bookService.findById(1).get();
book.setTitle("xxx");
book.setPrice(200);
this.bookService.saveAndFlush(book);
}
}總結(jié)
到此這篇關(guān)于Oracle數(shù)據(jù)庫基本操作及Spring整合Oracle數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)Spring整合Oracle內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux環(huán)境下Oracle數(shù)據(jù)庫重啟詳細(xì)步驟
這篇文章主要給大家介紹了關(guān)于Linux環(huán)境下Oracle數(shù)據(jù)庫重啟的詳細(xì)步驟,oracle在linux下重啟,有多種方式可選擇,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
詳解如何刪除Oracle數(shù)據(jù)庫臨時(shí)表空間
因生產(chǎn)環(huán)境磁盤空間不足,影響了業(yè)務(wù),短時(shí)間內(nèi)無法擴(kuò)容磁盤,經(jīng)過排查發(fā)現(xiàn),可以釋放temp臨時(shí)表空間來臨時(shí)釋放部分空間,本文記錄了如何釋放臨時(shí)表空間的詳細(xì)操作步驟,需要的朋友可以參考下2024-03-03
Oracle用戶自定義異常實(shí)現(xiàn)過程解析
這篇文章主要介紹了Oracle用戶自定義異常實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
Oracle數(shù)據(jù)庫正則表達(dá)式純數(shù)字例子
正則表達(dá)式已經(jīng)在很多軟件中得到廣泛的應(yīng)用,包括*nix(Linux, Unix等),HP等操作系統(tǒng),PHP,C#,Java等開發(fā)環(huán)境,這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫正則表達(dá)式純數(shù)字的相關(guān)資料,需要的朋友可以參考下2024-08-08

