- 博客(34)
- 收藏
- 关注
原创 Oracle DBLINK创建和使用
当需要跨越本地数据库,访问远程数据库的数据时,oracle提供了dblink的方式,让我们可以很方便访问远程数据库像本地一样方便,我们下面来看看创建dblink的方法。步骤一:首先查询当前用户是否有创建dblink的权限,如果没有,需要赋权select * from user_sys_privs t where t.privilege like upper('%link%');命令查询,从结果上看到当前用户有创建权限命令说明:CREATE DATABASE LINK:所创建的dblink只能是
2022-05-10 15:18:01 5771
原创 利用反射比对两个对象属性值是否相等
示例代码:可直接复制使用public class DomainEquals { /** * 日志操作类 */ private static Logger logger = Logger.getLogger(DomainEquals.class); public DomainEquals() { } /** * 比较两个BEAN或MAP对象的值是否相等 * 如果是BEAN与MAP对象比较时MAP中的key值应与BEAN的属
2022-05-06 09:41:35 379
原创 springboot默认日志配置及程序启动脚本
前言今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢如何引入日志?日志输出格式以及输出方式如何配置?代码中如何使用?正文Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每种Logger都可以通过配置使用控制台或者文件输出日志内容。默认日志LogbackSLF4J——Simple
2022-05-02 17:06:38 1262
原创 SpingBoot 拦截器实现每次请求打印日志
SpingBoot 拦截器实现每次请求打印日志1.配置pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> <version>${spring-boot.version}</version
2022-04-23 16:02:56 770 1
原创 Spring Boot实战:Spring Boot使用AOP的正确姿势
一、为什么需要面向切面编程?面向对象编程(OOP)的好处是显而易见的,缺点也同样明显。当需要为多个不具有继承关系的对象添加一个公共的方法的时候,例如日志记录、性能监控等,如果采用面向对象编程的方法,需要在每个对象里面都添加相同的方法,这样就产生了较大的重复工作量和大量的重复代码,不利于维护。面向切面编程(AOP)是面向对象编程的补充,简单来说就是统一处理某一“切面”的问题的编程思想。如果使用AOP的方式进行日志的记录和处理,所有的日志代码都集中于一处,不需要再每个方法里面都去添加,极大减少了重复代码。二
2022-04-23 15:44:13 723
原创 SpringBoot整合knife4j
1.概述Swagger是一款测试文档Api接口,具体用法见SpringBoot整合Swagger。而knife4j是对Swagger进一步封装,其优化了api文档的界面。官网https://doc.xiaominfo.com/knife4j/documentation/。2.实战演练2.1环境准备新建一个SpringBoot的项目,导入需要的依赖 <dependency> <groupId>org.springframework.boot<
2022-04-20 22:13:59 218
原创 SpringBoot @Validated注解实现参数校验
1. 前言做web开发有一点很烦人就是要校验参数,基本上每个接口都要对参数进行校验,比如一些格式校验 非空校验都是必不可少的。如果参数比较少的话还是容易 处理的一但参数比较多了的话代码中就会出现大量的IF ELSE就比如下面这样:这个例子只是校验了一下空参数。如果需要验证邮箱格式和手机号格式校验的话代码会更多,所以介绍一下validator通过注解的方式进行校验参数。2. 什么是ValidatorBean Validation是Java定义的一套基于注解的数据校验规范,目前已经从JSR 303的1
2022-04-20 22:01:42 16906 3
原创 to_date/to_char函数用法
SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss');select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;to_char(sysdate,'yyyy-MM-dd HH24:mi:ss'); //mi是分钟select to_char(sysdate,'y
2022-04-19 16:06:49 825
原创 callable,runnable,future和futureTask详解
之前的文章我们在讲解的时候说到新建线程的两种方式,一种是直接继承Thread类,重写run方法,另外一种是继承Runnable接口。但是这两种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。于是java后面又增加了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果Runnable和Callable@FunctionalInterfacepublic interface Runnable { public abstract void run();}R
2022-04-15 15:57:14 648
转载 Git、GitHub、GitLab三者之间的联系以及区别
Git、GitHub、GitLab三者之间的联系以及区别在讲区别以及联系之前先简要的介绍一下,这三者都是什么(本篇文章适合刚入门的新手,大佬请出门左转)1.什么是 Git?Git 是一个版本控制系统。版本控制是一种用于记录一个或多个文件内容变化,方便我们查阅特定版本修订情况的系统。以前在没有使用版本控制的时候,我们通常在我们的项目根目录下这样命名项目:project_v1、project_v1.1、project_v2等等,通过这种方式记录我们项目的不同版本的修改,有的时候我们还会在不同版本的
2022-04-07 17:54:01 1296
原创 时间的类型转换及定义Date工具类
1:Date类型转换为字符串 Date date = DateUtil.date(); // 年月日2022-03-31 System.out.println("年月日" + DateUtil.formatDate(date)); // 时分秒16:49:08 System.out.println("时分秒" + DateUtil.formatTime(date)); // 年月日 时分秒2022-03-31 16:49:08 System.out.prin
2022-03-31 16:18:46 1761
原创 VIM/VI常用命令
搜索命令命令模式下,输入:/字符串比如搜索user, 输入/user按下回车之后,可以看到vim已经把光标移动到该字符处和高亮了匹配的字符串查看下一个匹配,按下n(小写n)跳转到上一个匹配,按下N(大写N)搜索后,我们打开别的文件,发现也被高亮了,怎么关闭高亮?命令模式下,输入:nohlsearch 也可以:set nohlsearch; 当然,可以简写,noh或者set noh跳转到开头、结尾、指定行1、跳转到文件开头快捷键:gg2、跳转到文件结尾快捷键:shif
2022-03-30 11:32:49 116
转载 Maven私服Nexus3.x环境构建操作记录
参考地址:https://www.cnblogs.com/kevingrace/p/6201984.html一、Maven介绍Apache Maven是一个创新的软件项目管理和综合工具。Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件。Maven最强大的功能就是能够自动下载项目依赖库。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。在
2022-03-30 11:18:06 537
原创 Linux防火墙
环境:VMware、CentOS8从centos7开始使用systemctl.firewalld来管理服务和程序,包括了service和chkconfig。防火墙状态:systemctl status firewalld.serviceActive: inactive (dead)/active(running)关闭firewall:systemctl stop firewalld.service重启:systemctl restart firewalld.service启动:systemctl
2022-03-30 11:06:44 88
原创 linux 查看版本信息
Linux下如何查看版本信息, 包括位数、版本信息以及CPU内核信息、CPU具体型号等等,整个CPU信息一目了然。1、# uname -a (Linux查看版本当前操作系统内核信息)或者uname -rLinux localhost.localdomain 3.10.0-957.el7.x86_64 #1 Thu Mar 13 17:54:28 EST 2003 i686 athlon i386 GNU/Linux2、# cat /proc/version (Linux查看当前操作系统版本信息)
2022-03-28 14:42:10 372
原创 Intellij IDEA中拉svn分支
由于用IDEA时间也不是特别长,对操作svn的一些东西,不是特别熟悉,特此记录一下,以做备忘。先说下流程:在IDEA里面对trunk代码拉分支熟悉了,其实很容易,(1)你trunk目录下的得有个你的releases项目(2)在idea的工作空间下,按如下截图显示(3)填一些拷贝的一些的信息: (4)在3的基础上,选则在svn上的分支路径时,需要注意如下: (5)ok,至此如果不报错的情况下,就代表拉分支成功,接下来要干的事,就很简单了,直接找到分支的路径,把它checkout出来即可!.
2022-03-28 10:11:19 842
转载 oracle dblink和同义词
oracle dblink和同义词一:dblink1查看dblink1select owner,object_name from dba_objects where object_type=‘DATABASE LINK’2创建dblink12create public database link SEQ connect to biz identified by zo using ’ (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HO
2022-03-25 15:21:22 827
原创 oracle同义词
同义词相当于一个表对象的别名。如同创建视图一样并与视图的作用相当。同义词的作用之一就是保护数据源表的数据安全,通过别名避免了源表的暴露,通过同义词,就可以进行select,DML操作。还有就是,删除了同义词,不会连同删除源表,这也是确保源表数据的安全。以下是创建同义词并测试的过程。—创建同义词:–使用suxing用户尝试给测试表创建一个同义词:suxing@PROD>create synonym seqt for seqtest;create synonym seqt for seqte
2022-03-25 14:53:20 403
原创 enum枚举类优化
在我们日常开发中枚举是无处不在的,如各种状态,各种类型等等经常都需要使用到枚举,也经常需要对枚举进行操作,如将枚举value->枚举name,并且鉴于系统稳健性考虑,其实也是需要对前端传来的枚举值进行校验是否为正确的枚举类,然而其实大部分系统的枚举类中都会有类似图中的代码,更有甚者会通过定于一个Map来实现类似操作,对于一个系统而言,动则几十上百个的枚举类,在每个类中都去实现类似重复冗余的代码,就有点那啥了啊哈哈,虽然cv大法很好用,但咱也是个有追求的程序员。那有没有办法让所有枚举类只保留ge.
2022-03-24 15:13:12 1120 2
原创 枚举类(java)
==枚举是一个被命名的整型常数的集合,用于声明一组带标识符的常数。==枚举在曰常生活中很常见,例如一个人的性别只能是“男”或者“女”,一周的星期只能是 7 天中的一个等。类似这种当一个变量有几种固定可能的取值时,就可以将它定义为枚举类型。在 JDK 1.5 之前没有枚举类型,那时候一般用接口常量来替代。而使用 Java 枚举类型 enum 可以更贴近地表示这种常量。声明枚举声明枚举时必须使用 enum 关键字,然后定义枚举的名称、可访问性、基础类型和成员等。枚举声明的语法如下:enum-modifi
2022-03-23 15:32:24 174
原创 【无标题】
https://www.cnblogs.com/dc-earl/category/1246799.htmlhttps://blog.csdn.net/m0_37941193/article/details/76456988#本案例是每天定时修改交易日期为当天–procedure(存储过程)– 创建存储过程create or replace procedure update_trade_dt asbeginupdate WDZX.CBondAnalysisCNBD set trade_dt =
2022-03-22 14:45:05 92
原创 查看Oracle当前用户下的(表,视图,同义词,索引等...)
–0: 表空间查看当前用户表空间select username,default_tablespace from user_users;–1:用户查看当前用户的表空间select username,default_tablespace from user_users;– 查看当前用户的角色select * from user_role_privs;– 查看当前用户的系统权限和表级权限select * from user_sys_privs;select * from user_tab_pr
2022-03-03 14:32:55 3617
原创 (2)Docker架构原理
Docker三要素,镜像,容器,仓库1.镜像Docker 镜像(Image)就是一个只读的模板,它可以是一个可运行软件(tomcat,mysql),也可以是一个系统(centos)。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。2.容器Docker 利用容器(Container)独立运行的一个或一组应用。容器是用镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间.
2022-03-01 16:00:04 85
原创 (1)Docker是什么?
Docker官网: https://www.docker.com/Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版
2022-03-01 15:11:34 482
原创 LINUX下ORACLE表空间及用户创建
LINUX下ORACLE表空间及用户创建记录详细过程以备使用(https://www.cnblogs.com/csyd/p/10370544.html)Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0Connected as sys@ip:port/sid AS SYSDBA管理员用户登录oracle数据库1、创建临时表空间select name from v$tempfile;查出当前数据库临时表空间,
2022-02-22 17:45:51 3152
原创 (5)Nacos高可用集群
为了防止一个nacos崩掉,我们可以搞个3个或者3个以上的nacos集群部署,实现高可用;1:startup.sh Model改成cluster集群模式2:设置下IPnacos.inetutils.ip-address=127.0.0.13:修改cluster.conf.examplecluster.conf.example改成cluster.conf以及配置上ip列表:127.0.0.1:8848127.0.0.1:8849127.0.0.1:8850nacos程序文件复制三分,端口
2022-02-10 20:46:39 1173
原创 (4)Nacos服务注册与发现
1:服务注册与发现简介大的分布式微服务项目会根据业务,把项目拆分成多个业务模块项目,然后互相调用;如何互相调用呢?这里我们每个项目模块都需要去nacos服务注册中心注册下,登记下每个项目自身的地址和端口,然后其他的项目模块就可以通过Nacos找到需要调用的其他模块项目的地址了;这样就可以实现服务的发现和调用;2:服务注册实践引入依赖:<dependency> <groupId>com.alibaba.cloud</groupId> <ar
2022-02-10 11:26:50 567
原创 MAC 下MySQL常用命令
本人电脑为10.15.7版本MySQL 为 8.0.19 版本0:登陆mysql默认用户名密码mysql -u root -p123456781:查看mysql版本方法一:status;方法二:select version();方法三: \s
2022-02-09 15:12:06 1233
原创 (3)Nacost统一配置中心
1:配置中心HelloWorld入门实例1.1版本说明地址:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E我们选用1.2项目搭建配置pom<properties> <java.version>1.8</java.version> <spring-boot.version>2.3.2
2021-12-04 17:05:01 367
原创 (2)Nacos Server安装
Nacos Server依赖于java环境运行,jdk用1.8以上;安装:https://nacos.io/zh-cn/docs/quick-start.html默认启动是集群方式:我们修改startup.cmd默认配置 set MODE=“cluster”:改成 standalone 单实例运行;默认端口:8848配置数据库:###Count of DB:db.num=1###Connect URL of DB:db.url.0=jdbc:mysql://127.0.0.1:3
2021-12-01 22:15:15 364
原创 (1)Nacos简介
Nacos一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。功能:1,动态配置服务动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。2,服务发现及管理动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止
2021-12-01 22:10:26 769
原创 Oracle DMP备份文件使用数据泵expdp/impdp导出导入dmp文件
oracle数据库使用数据泵expdp/impdp导出导入踩过的坑1:expdp导出操作2:impdp导入操作3:impdp导入踩坑3.1:ORA-01653 错误解决方案3.2:ORA-39171: Job is experiencing a resumable wait3.3:oracle impdp时卡死Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX4:Linux命令scp--远程拷贝文件scp介绍如何使用1:expdp导出操作0、数据
2020-09-18 16:26:33 8695
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人