JDBC连接参数配置

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 张表

在这里插入图片描述

⚠️ 注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. 关联

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

在这里插入图片描述

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 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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
在使用JDBC连接Phoenix时,可以通过连接URL或者通过Java代码设置一些配置参数。以下是一些常见的配置参数: 1. phoenix.query.timeoutMs:设置查询超时时间,单位为毫秒。 2. phoenix.query.keepAliveMs:设置查询保持活动状态的时间,单位为毫秒。 3. phoenix.query.maxGlobalMemoryPercentage:设置查询最大可使用的全局内存百分比。 4. phoenix.query.maxGlobalMemoryWaitMs:设置查询等待全局内存的最大时间,单位为毫秒。 5. phoenix.query.threadPoolSize:设置查询线程池的大小,用于并发执行查询操作。 6. phoenix.jdbc.autoCommit:设置是否自动提交事务,默认为true。 7. phoenix.jdbc.fetchSize:设置每次从服务器获取的行数,默认为0,表示使用默认大小。 8. phoenix.connection.autoCommit:设置是否自动提交事务,默认为true。 9. phoenix.mutate.batchSize:设置批量操作的大小,默认为1000。 10. phoenix.mutate.maxSize:设置批量操作的最大大小,默认为0,表示不限制大小。 可以通过在连接URL中添加参数配置,例如: ``` jdbc:phoenix:localhost:2181:/hbase;phoenix.query.timeoutMs=5000;phoenix.connection.autoCommit=false ``` 或者通过Java代码设置参数,例如: ```java Properties props = new Properties(); props.setProperty("phoenix.query.timeoutMs", "5000"); props.setProperty("phoenix.connection.autoCommit", "false"); Connection conn = DriverManager.getConnection("jdbc:phoenix:localhost:2181:/hbase", props); ``` 这些配置参数可以根据具体需求进行调整和优化,可以参考Phoenix官方文档或者相关资源了解更多可配置参数的详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会叫的狼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值