JDBC连接参数配置

文章目录

  • 1、Oracle - 数据库的实例、表空间、用户、表之间关系
    • 0. 数据库:
    • 1. 实例
    • 2. 表空间
    • 3. 用户
    • 4. 表
    • 5. 关联
  • 2、Mysql - 数据库、用户、表之间关系
    • 1. 数据库
    • 2. 用户
    • 3. 表
    • 4. 关联
  • 3、JDBC数据库连接配置
    • 1. driver驱动
    • 2. URL
    • 3. 用户名和密码
    • 4. SpringBoot配置

1、Oracle - 数据库的实例、表空间、用户、表之间关系

0. 数据库:

数据库是数据集合。Oracle是一种数据库管理系统,是一种关系型的数据库管理系统。包含物理数据、数据库管理系统。也即物理数据、内存、操作系统进程的组合体。

1. 实例

一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有 N 个实例。

我们访问Oracle都是访问一个实例,但这个实例如果关联了数据库文件,就是可以访问的,同时也叫SID。

查询当前数据库实例名:

select instance_name from v$instance;

oracle数据库被实例化之后,会有很多的默认的用户sys、system(本地管理员)、scott(普通用户),我们可以通过这些管理员进入oracle数据库操作中。同时我们也是在实例中创建Oracle的用户。

2. 表空间

Oracle数据库是通过表空间来存储物理表的,一个表空间只能属于一个数据库一个数据库实例可以有 N 个表空间,一个表空间下可以有 N 张表

查看我们常规将用户表空间放置的位置:

select name from v$datafile;

创建表空间语法:

Create TableSpace --表空间名称  
DataFile          --表空间数据文件路径  
Size              --表空间初始大小  
Autoextend on

--例如
CREATE TABLESPACE test 
datafile '/usr/local/oracle/product/11.2.0/userdata/test01.dbf'
size 600M 
autoextend on next 50m 
maxsize unlimited;
 
CREATE TABLESPACE test 
datafile '/usr/local/oracle/product/11.2.0/userdata/test01.dbf'
size 600M 
autoextend off 
maxsize 1000M;  

3. 用户

Oracle数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间。不同实例可以建相同名字的用户。

Oracle是由用户和表空间对数据进行管理和存放的,表不是由表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表! 这里区分就是用户了!

创建新用户:

CREATE USER 用户名
IDENTIFIED BY 密码
DEFAULT TABLESPACE 指定授权访问表空间(默认USERS)
TEMPORARY TABLESPACE 临时表空间(默认TEMP)

# 建立用户testuser
CREATE USER testuser
IDENTIFIED BY testuser
DEFAULT TABLESPACE test;

# 给用户赋予权限:
GRANT CONNECT TO utest;
GRANT RESOURCE TO utest;
grant connect,resource,dba to testuser;

查看用户:

# 查看所有用户
SELECT * FROM dba_users;

# 查看当前用户
select user from dual;

4. 表

有了数据库、表空间用户,就可以用自定义的用户在表空间创建表了。

5. 关联

  • 一个数据库可以有 N 个实例
  • 一个数据库实例可以有 N 个表空间
  • 一个数据库实例可以有 N 个用户
  • 一个表空间下可以有 N 张表

JDBC连接参数配置_第1张图片

⚠️ 注1:

  • 安装Oracle后会有默认的实例,即ORCL。一般不创建多个实例,在默认实例下创建表空间和用户等。

2、Mysql - 数据库、用户、表之间关系

1. 数据库

一个数据库服务器可以包含 N 个数据库,每个数据库包含 N 张数据表。

# 展示所有数据库
show databases;

# 创建一个新的数据库
create database 数据库名 ; 

# 使用某一个数据库
use 数据库名 ; 

# 查询当前在哪一个数据库下
select database(); 

# 删除某一个数据库
drop database 数据库名 ; 

2. 用户

一个数据库服务器可以包含 N 个用户。

创建用户时,可以为用户分配对数据库的管理权限,所以用户可以共享所有数据库,只要具有对数据库的使用权限。

1.用户管理
# 创建新用户
create user '用户名'@'主机名' identified by '密码';

# 修改用户密码
alter user '用户名'@'主机名' identified with mysql_password by '密码';

# 删除用户
drop user '用户名'@'主机名';
 
2.权限控制
# 赋予用户权限
grant 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

# 撤销用户权限
revoke 权限列表 ON 数据库名.表名 from '用户名'@'主机名';

3. 表

一个数据库包含 N 张数据表。

4. 关联

  • 一个数据库服务器可以包含多个数据库和用户,每个数据库包含多张数据表
  • 创建用户时,可以为用户分配对数据库的管理权限,所以用户可以共享所有数据库,只要具有对数据库的使用权限。

JDBC连接参数配置_第2张图片

3、JDBC数据库连接配置

1. driver驱动

java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现。

  • Oracle的驱动:oracle.jdbc.driver.OracleDriver 或者 oracle.jdbc.OracleDriver
  • MySql的驱动: com.mysql.jdbc.Driver 或者 com.mysql.cj.jdbc.Driver

2. URL

JDBC URL的标准由三部分组成,各部分间用冒号分隔。

  • 协议:JDBC URL中的协议总是 jdbc
  • 子协议:子协议用于标识一个数据库驱动程序
  • 子名称:一种标识数据库的方法。子名称可以依不同的子协议而变化,用子名称的目的是为了定位数据库提供足够的信息。包含主机名(对应服务端的ip地址),端口号数据库名

JDBC连接参数配置_第3张图片

几种常用数据库的 JDBC URL:

  • Oracle:jdbc:oracle:thin:@主机名称:oracle服务端口号:数据库名称,示例:jdbc:oracle:thin:@192.168.2.150:1521/ZNDB
  • MySql:jdbc:mysql://主机名称:mysql服务端口号/数据库名称?参数=值&参数=值,示例:jdbc:mysql://localhost:3306/sg_security?characterEncoding=utf-8&serverTimezone=UTC

3. 用户名和密码

指定访问的用户名、密码

4. SpringBoot配置

Oracle:

spring:
  datasource:
    url: jdbc:oracle:thin:@192.168.2.150:1521/ZNDB
    username: tmradmin
    password: dbyongyou
    driver-class-name: oracle.jdbc.OracleDriver

MySql:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/sg_security?characterEncoding=utf-8&serverTimezone=UTC
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver

你可能感兴趣的:(oracle,mysql,oracle,mysql,数据库,1024程序员节)