目录
一、Oracle数据库介绍
1、Oracle: 中文意思:神谕 是由美国Oracle公司开发的一个面向对象、关系型大型数据库。
版本:2.0 3.0 ..... 9i(Internet) 10g(g:网格) 11g 12C
2、Oracle数据库的特点
大型的、安全性高、费用高
3、Oracle数据库的基本操作(权限)
默认三个角色:Sys (超级) System(DBA:数据库管理员) scott(学习账号) tiger
所有的操作都必须有权限:System
Sql:
DDL: 数据定义语言(create drop alter)
DCL: 数据控制语言(Grant:授权 Revoke:收回 Deny:拒绝)
例如:授予某个用户的select权限:
Grant select on 表名 to 用户
Grant select,update,delete on 表名 to 用户
Revoke select on 表名 from 用户
DML:数据操作语言:update delete insert
DQL: 数据查询语言: select
TCL: 事务控制语言: commit rollback
创建表空间
删除表空间
创建用户
授权:授权abc用户可以连接(connect)且操作资源(resouce)
二、SpringBoot整合oracle
导入依赖
<?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
实体类
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);
}
}