工程搭建 spring + DB + eureka + nginx + vue

本文主要介绍了如何构建一个基于Spring的微服务架构,包括Oracle和MySQL数据库的总结,RabbitMQ消息队列的理解,微服务集群、Zuul网关、Eureka服务注册与发现的使用,以及负载均衡和跨域问题的解决方案。通过实例展示了如何启动两个服务实例,开启负载均衡,并探讨了Eureka集群的配置和工作原理。最后提到了Ribbon在负载均衡中的应用。
摘要由CSDN通过智能技术生成

Oracle和mysql的初步总结

Oracle的设计思路(初步)
Oracle有实例,有表空间,有用户。焦点在用户。
jdbc:oracle:thin:@172.22.32.4:1521:dskfdb
jdbc:oracle:thin:@localhost:1521:orcl
其中dskfdb和orcl都是实例名,实例名像一个通道,下面可以对应多个用户名,多个用户名可以对应同一个表空间,表空间才是存储数据的地方。
相比较而言,Oracle的表空间才像mysql的数据库。
每个用户可以有自己的schema,他们链接相同的表空间,对应的表可以不同。这就给不同的用户不同的表权限。做到对应表对应用户。
Oracle和MySQL的差别在于,我觉得,是权限的控制不同。Oracle搞出更多的概念。感觉其实没有必要。MySQL更加轻量级。
支持阿里的自己的数据库。

部分来自该博客
oracle对日期的操作详解,基本的操作全在这儿了

oralce里面数字字符串都可以进行加减和比较
“20200710” - 1 得到 20200709
数字能加减,那么也能比较
“20200710” < “20200709”

oracle里当前时间是 sysdate 。对这个变量直接加减操作是对 天数 日期的加减
昨天:sysdate - 1
明天:sysdate +1
上周:sysdate - 7
下周两周:systdate + 7乘以2
上一小时:sysdate - 1/24
上一分钟:sysdate - 1/24/60
上一秒:sysdate - 1/24/60/60
下就是加
操作月份、年份需用 add_months() (为什么?)
上个月:add_months(sysdate, -1) 下个月就 +1
上一年:add_months(sysdate, -12) 下两年 +12乘以2
为什么月份和年份不能用天的基本单位表示呢?oracle考虑的很合理的
毫秒、秒、分、时、天、周这几个之间的进制分别是1000、60、60、24、7,他们是固定不变的,所以只要天用的是 1 表示,那么这些其余的时间单位都可以表示。但是一个月却有不同,28天、29天、30天、31天都有可能,就不能用天数来前进或后退一个月,只能新开一个函数 add_months()的第二个参数用来加减月份,而一年肯定是12个月,那就可以用月份表示年份了,这个参数加减12的倍数就是年份了
这些所有的返回值还是sysdate。
日期类型和字符串之间的转换
to_char(sysdate, “yyyyMMdd”) 转换成 “20200710” 这样的字符串
to_date(“2020-07-10”, “yyyy-MM-dd”) 转换成 2020-07-10 00:00:00 这样的sysdate

有了 sysdate、add_months()、to_char()、to_date() 就可以对oracle的所有的日期时间进行的加减和转换字符串的运算

补充:oracle的 over() 并与之相关的操作 都属于oracle的总结
over():分析函数。用来返回一个结果集的,sum()、max()、min()、avg()等都是返回一条数据,而这个是返回一结果集。它不能单独使用。
over()函数写法over(partition by expr2 order by expr3),根据expr2对结果进行分区,在各分区内按照expr3进行排序;
over函数不能单独使用,需要与row_number(),rank()和dense_rank,lag()和lead(),sum()等配合使用。它需要 over(partition by arg1 order by arg2) 然后配合 row_number(),rank()和dense_rank,lag()和lead(),sum()等。几个具体用法如下:
在这里插入图片描述

WHERE rownum = 1 ; 取得就是结果集的第一条。

建表三步骤:oracle
1、先建表(主键、建索引)
2、授权
3、同义词

建三个表为例
1、001_bosdata_bill_batch_info_create.sql
– Create table
create table BOSDATA.BILL_BATCH_INFO
(
id VARCHAR2(32) default sys_guid() not null,
batch_no VARCHAR2(32) not null,
channel_code VARCHAR2(6),
send_type VARCHAR2(3),
bill_type VARCHAR2(3),
bill_start_dt VARCHAR2(8),
bill_end_dt VARCHAR2(8),
bill_state VARCHAR2(3),
push_dt TIMESTAMP(6),
ready_dt TIMESTAMP(6),
send_dt TIMESTAMP(6),
send_total INTEGER,
succ_total INTEGER,
fail_total INTEGER,
remark VARCHAR2(512),
create_by VARCHAR2(50) not null,
create_date NUMBER(13) not null,
update_by VARCHAR2(50) not null,
update_date NUMBER(13) not null
);
– Add comments to the table
comment on table BOSDATA.BILL_BATCH_INFO is ‘账单批次信息表’;
– Add comments to the columns
comment on column BOSDATA.BILL_BATCH_INFO.id is ‘主键’;
comment on column BOSDATA.BILL_BATCH_INFO.batch_no is ‘批次号’;
comment on column BOSDATA.BILL_BATCH_INFO.channel_code is ‘渠道’;
comment on column BOSDATA.BILL_BATCH_INFO.send_type is ‘发送方式’;
comment on column BOSDATA.BILL_BATCH_INFO.bill_type is ‘单据类型’;
comment on column BOSDATA.BILL_BATCH_INFO.bill_start_dt is ‘账单开始日期’;
comment on column BOSDATA.BILL_BATCH_INFO.bill_end_dt is ‘账单结束日期’;
comment on column BOSDATA.BILL_BATCH_INFO.bill_state is ‘账单状态(01-未就绪/02-已就绪/03-已发送/09-异常)’;
comment on column BOSDATA.BILL_BATCH_INFO.push_dt is ‘推送时间’;
comment on column BOSDATA.BILL_BATCH_INFO.ready_dt is ‘就绪时间’;
comment on column BOSDATA.BILL_BATCH_INFO.send_dt is ‘发送时间’;
comment on column BOSDATA.BILL_BATCH_INFO.send_total is ‘发送总数’;
comment on column BOSDATA.BILL_BATCH_INFO.succ_total is ‘发送总成功数’;
comment on column BOSDATA.BILL_BATCH_INFO.fail_total is ‘发送总失败数’;
comment on column BOSDATA.BILL_BATCH_INFO.remark is ‘备注’;
comment on column BOSDATA.BILL_BATCH_INFO.create_by is ‘创建人’;
comment on column BOSDATA.BILL_BATCH_INFO.create_date is ‘创建时间’;
comment on column BOSDATA.BILL_BATCH_INFO.update_by is ‘更新人’;
comment on column BOSDATA.BILL_BATCH_INFO.update_date is ‘更新时间’;

–建立主键
alter table BILL_BATCH_INFO
add constraint BILL_BATCH_INFO_PK primary key (ID);
–授权
grant select on bosdata.bill_batch_info to r_bosdata_qry;
grant select,insert,update,delete on bosdata.bill_batch_info to r_bosdata_dml;
–建立索引
create unique index BILL_BATCH_INFO_idx1 on BILL_BATCH_INFO (batch_no) ;

2、002_bosdata_bill_detail_info_create.sql
– Create table
create table BOSDATA.BILL_DETAIL_INFO
(
id VARCHAR2(32) default sys_guid() not null,
batch_no VARCHAR2(32) not null,
channel_code VARCHAR2(6),
trans_acctid VARCHAR2(20) not null,
send_type VARCHAR2(3),
bill_type VARCHAR2(3),
email_addr VARCHAR2(1024),
fax_no VARCHAR2(512),
pdf_addr VARCHAR2(512),
bill_state VARCHAR2(3),
send_dt TIMESTAMP(6),
remark VARCHAR2(512),
create_by VARCHAR2(50) not null,
create_date NUMBER(13) not null,
update_by VARCHAR2(50) not null,
update_date NUMBER(13) not null,
cust_nm VARCHAR2(255)
);
– Add comments to the table
comment on table BOSDATA.BILL_DETAIL_INFO is ‘账单明细信息表’;
– Add comments to the columns
comment on column BOSDATA.BILL_DETAIL_INFO.id is ‘主键’;
comment on column BOSDATA.BILL_DETAIL_INFO.batch_no is ‘

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值