自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (17)
  • 收藏
  • 关注

原创 PostgreSQL-PL/pgSQL控制结构

PL/pgSQL的控制结构是最重要及最有用的一部分了,在实际工作场景都离不开业务处理逻辑,在写PL/pgSQL时,利用控制结构来操作数据。PL/pgSQL支持的控制结构与其他语言几乎差不多,比如:条件、循环、异常等,下面就分别介绍控制结构的使用。1、条件对于条件控制结构,支持IF与CASE两种,IF语句有如下三种写法:if ... then ... end ifif ... then ... else ... end if if ... then ... elsif ... then ... el

2022-03-04 23:04:11 2866

原创 PostgreSQL的PL/pgSQL块结构

使用过Oracle的语句块的都熟悉,在不用创建存储过程或函数就可以执行PLSQL数据库脚本,这样做通常可以用来做一些复杂业务数据初始化的功能。那么在PostgreSQL中也有相应的功能,称为PL/pgSQL,具体语法如下:[ <<label>> ][ DECLARE declarations ]BEGIN statementsEND [ label ];语句块由两部分组成:声明部分与主体部分,声明部分是可选的,主体部分是必须的,在主体部分最后的END使用

2022-03-02 23:49:37 1915

原创 PostgreSql处理Null与空字符串

在使用 PostgreSql时,实际场景中会出现某个字段为空或空字符串,就取另外一个字段或给默认值,在Oracle数据库中用函数NVL就行实现,那么在PostgreSql可以使用COALESCE函数,与Oracle的NVL一样接收两个参数。区别在于NVL函数的第一个参数对NULL与空字符串,都识别为空,而COALESCE只识别NULL。比如下面数据的order_code字段是NULL,cus_name字段是空字符串:使用函数COALESCE设置NULL与空字符串的默认值,看下对空字符串是否生效。se

2022-02-25 22:19:22 17531 4

原创 Centos7安装RabbitMQ

1、安装前准备由于RabbitMQ使用的是Erlang语言开发的,因此在安装RabbitMQ之前需要安装Erlang环境,Erlang与RabbitMQ的下载地址分别为:Erlang:https://github.com/rabbitmq/erlang-rpm/releasesRabbitMQ:https://github.com/rabbitmq/rabbitmq-server/releases注意:RabbitMQ与Erlang安装时是有版本对于关系,可以查看:https://www.rabb

2022-02-12 19:19:22 2597 1

原创 PostgreSQL高级特性-WITH查询

1、WITH查询WITH查询是PostgreSQL的高级特性之一,这一特性通常被称为CTE(Common Table Expressions),WITH查询在复杂的查询语句中定义辅助语句(可以理解成查询语句中的临时表),这一特性常用于如下两种场景:将多个子查询类似的写到通用WITH查询中递归查询(树查询)下面通过简单的例子分别对这两种场景的使用。2、复杂查询准备一张测试表及数据create table t_order( id serial primary key, cus_name v

2022-01-24 23:46:34 1939

原创 SpringAOP的使用

1 什么是AOPAOP(Aspect Orient Programming),直译过来就是面向切面编程。AOP是一种编程思想,是面向对象(OOP)的一种补充和完善。对于面向对象来说是将程序抽象成各个层次的对象,而面向切面则是将程序抽象成各个切面。通俗一点来讲就是面向切面就是将面向对象的一些通用性的功能或非核心功能单独抽取出来。2 为什么要使用AOP在聊这个问题之前,我们先看下假如在项目中有如下需求:记录每个方法的入参及出参记录每个方法的耗时检查某些方法的入参是否合法真实场景可能远不止这些,

2022-01-12 00:29:25 4735 3

原创 Spring的@PropertySource注解使用

@PropertySource注解是Spring用于加载配置文件,默认支持.properties与.xml两种配置文件。@PropertySource属性如下:name:默认为空,不指定Spring自动生成value:配置文件ignoreResourceNotFound:没有找到配置文件是否忽略,默认false,4.0版本加入encoding:配置文件编码格式,默认UTF-8 4.3版本才加入factory:配置文件解析工厂,默认:PropertySourceFactory.class 4.3版

2021-08-18 23:25:12 1286

原创 SpringBoot的自动配置

在介绍SpringBoot的自动配置之前,先了解下注解@Import的使用,SpringBoot的@Enable*开头的注解底层依赖于@Import注解导入一些类,使用@Import导入的类会被Spring加载到IOC容器中,而@Import提供了以下4中用法:直接导入Bean通过配置类导入Bean导入ImportSelector实现类,一般用于加载配置文件的类导入ImportBeanDefinitionRegistrar实现类下面来分别介绍这几种用法。直接导入Bean就比较简单了,新建一

2021-08-11 00:38:47 211

原创 SpringBoot配置文件

1、SpringBoot配置文件SpringBoot配置文件,对于SpringBoot的默认配置来说,如果默认配置不适用实际运用的场景情况下,可以使用配置文件覆盖默认配置,比如内嵌的Tomcat默认端口是8080,就可以使用配置文件将默认配置覆盖。另外我们在项目中,有可能封装一些通用SDK,也可以使用配置文件来处理。SpringBoot支持的配置可以查看官网文档:application-propertiesSpringBoot提供了两种配置文件类型:properties和yml(而yml也可以写成ya

2021-08-07 21:13:38 316 1

原创 SprintBoot简单入门

1、什么是SpringBootSpringBoot是基于Spring的基础上提供了一套全新的框架,其目的是为了在开发时简化Spring的相关配置及开发过程。在SpringBoot未出来之前,准备搭建一个Spring的开发环境需要配置一堆的XML文件,而SpringBoot就是去除了大量的XML配置文件,简化了复杂的依赖管理。Spring Boot集成了大量常用的第三方库配置,Spring Boot 应用中这些第三方库几乎可以是零配置的开箱即用(out-of-the-box),大部分的Spring Boo

2021-08-05 16:24:27 935 1

原创 使用Spring进行单元测试

使用Spring进行单元测试,可以分为两种:1、使用注解的方式加载配置文件2、手动加载配置文件既然是做单元测试,那么最基本的单元测试maven依赖需要引入。<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope&g

2021-08-04 16:41:00 4177

原创 Docker-搭建私有仓库

通常我们在docker拉取的镜像都是在docker hub或quay.io等公有仓库获取,那么在实际工作中,每个公司如果使用到docker,那么肯定是要搭建自己的私有仓库。那么接下来就通过docker提供的registry镜像来搭建我们自己的私有仓库。1、拉取registry镜像这里默认拉取最新版本,不指定版本就默认拉取latest版本docker pull registryUsing default tag: latestlatest: Pulling from library/registry

2021-08-03 23:10:02 1902

原创 Docker-容器使用

容器container作为Docker三大基本概念之一,相当于一个系统中运行的软件。一个镜像下可以启动多个容器。通过Docker命令可以查看容器container支持的命令。docker container --help命令等价命令说明container attachattach将本地标准输入、输出和错误流连接到运行中的容器container commitcommit根据当前容器创建一个新的镜像container cpcp将宿主机与容器之间复制文件/文件夹

2021-08-02 16:41:23 381

原创 Docker-镜像使用

镜像image是Docker架构的三个基本概念之一,就相当于是一个root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套Ubuntu16.04最小系统的 root文件系统。1、常用命令images: 列出本地主机上的所有镜像search:查找远程仓库镜像pull:从远程服务器拉取镜像push:将本地镜像推送到远程镜像仓库rmi:删除本地镜像save:将本地镜像导出到本地文件load:将本地文件导入到本地镜像history:查看镜像历史tag:给镜像打标记imp

2021-07-30 22:22:52 446

原创 Centos8安装Docker

1、安装准备如果有安装过docker,先卸载旧版本,命令如下:sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \

2021-07-27 19:14:23 667 1

原创 Spawn使用

1、介绍官网:https://spawn.cc/日常学习或开发时,遇到需要使用到数据库,如果在公司(数据库肯定不能随便用来测试,即便是测试的库,拿来做自己学习测试用那也不特别合适),就更别说在家了。正常来说我们肯定是要在本地安装自己需要的数据库。那么有没有可以不在本地安装数据库就可以呢?那么接下来的Spawn就可以完美的解决这个问题。Spawn使提供远程的数据库副本,供我们学习开发或测试使用。Spawn的数据库副本是托管在云上,因此不需要在本地安装数据库服务器了。Spawn需要用到GitHub账

2021-07-26 22:55:27 5624

原创 PostgreSQL窗口函数

1、什么是窗口函数窗口函数在和当前行相关的一组表行上执行计算。 这相当于一个可以由聚合函数完成的计算类型。但不同于常规的聚合函数, 使用的窗口函数不会导致行被分组到一个单一的输出行;行保留其独立的身份。 在后台,窗口函数能够访问的不止查询结果的当前行。可以访问与当前记录相关的多行记录;不会使多行聚集成一行, 与聚集函数的区别;2、窗口函数语法window_func() OVER(PARTITION BY [字段] ORDER BY [字段])窗口函数跟随一个OVER子句,OVER子句决定究

2021-05-22 17:01:46 1024

原创 PostgreSQL条件表达式

  条件表达式在日常工作中很多场景都会用到,比如某个字段为空,取另外一个字段;某个值大于多少,取什么字段,小于多少取什么字段等等。那么下面来简单的学习下PostgreSQL有那些条件表达式。1、CASE  CASE表达式是一种通用的条件表达式,类似于编程语言中的if else语句。具体语法如下:CASE WHEN condition THEN result [WHEN ...] [ELSE result]ENDCASE子句可以用于任何表达式可以存在的地方。condition是

2021-05-22 12:50:46 1209

原创 使用JSONassert进行JSON对象对比

  在日常工作中,会接到用户提出一张订单,修改后需要记录每次修改的信息,然后需要查看修改前后的差异信息这样的需求。要实现这样的功能方式有很多。下面介绍下JSONassert的简单使用,也方便自己后续使用查看。JSONassert GitHub地址:https://github.com/skyscreamer/JSONassert1、准备Maven依赖:<dependency> <groupId>org.skyscreamer</groupId>

2021-05-20 21:43:24 1382 1

原创 PostgreSQL实现字符串拼接

  在日常工作中会遇到将多行的值拼接为一个值展现,如果使用过Oracle数据库,可以使用list_agg的聚合函数来实现。那么PostgreSQL也有这样的功能,函数为string_agg。具体用法如下:建表CREATE TABLE student( id serial PRIMARY KEY, name varchar(240), address varchar(500), grade varchar(20))录入测试数据INSERT INTO student(name,ad

2021-05-19 11:30:57 13596

原创 使用Optional处理null

一、聊聊NullPointerException  相比做Java开发的,见到NullPointerException肯定不陌生吧,可以说见到它深恶痛绝。在开发时认为不会出现NullPointerException异常,最终到了生产环境,就给你来点意外惊喜。但是在开发时处理对象为空的通常都是用if(null != xxx),或者使用一些工具类,比如:if(ObjectUtils.isEmpty(xxx)),可以看出这种处理会让我们的代码变得很臃肿,遇到一个对象时可能都要这样来一下。  使用Optiona

2021-05-17 15:11:04 1423 1

原创 SpringBoot中获取上下文

在实际开发中,有时候会根据某个bean的名称或class到Spring容器中获取对应的Bean。这里只做个简单的记录,方便后续自查。@Componentpublic class SpringContextUtils implements ApplicationContextAware { private static ApplicationContext applicationContext; @Override public void setApplicationContex

2021-04-04 15:08:30 628 3

原创 SprintBoot使用Validation

1、为什么要使用Validation在开发过程中有没有使用一堆的if来判断字段是否为空、电话号码是否正确、某个输入是否符合长度等对字段的判断。这样的代码可读性差,而且还不美观,那么使用Validation就可以完美解决这个问题。2、使用Validation引入validation依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-

2021-04-02 23:45:18 257

原创 SpringBoot全局异常处理

1、为什么要全局异常处理在实际开发中,如果不处理统一处理异常,那么前端在调用后端提供的接口,就会处理各种的异常结构,对于前端来说那可谓是一场灾难,这对前后端的协作也不友好。比如后端路径:/api/v1/index/user?id=222,如果前端未传入ID,那么SpringBoot就会报如下异常:{"timestamp":"2021-03-30T15:22:46.139+00:00","status":400,"error":"Bad Request","message":"","path":"/api

2021-03-31 00:08:07 4857

原创 MyBatis-Plus学习记录

1、初探1.1、简介官网文档:https://mp.baomidou.com/guide/MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。1.2、SpringBoot快速集成1.2.1、创建SpringBoot工程这里怎么创建SpringBoot工程就不做详细的介绍了,创建一个SpringBoot工程有如下方式:在Sp

2021-03-28 01:45:56 139

原创 Oracle Merge Into使用

Oracle Merge Into使用1.两张表关系2.单张表3.在mybatis中使用merge into的作用就是当条件存在,则更新,反之则新增。1.两张表关系merge into arvin_test atsusing (select distinct cov_1.vendor_id,--供应商ID cov_1.segment1, --供应商编码 ...

2019-01-17 11:42:45 1396

原创 oracle中将驼峰格式转换为下划线格式

oracle中将驼峰格式转换为下划线格式驼峰-&gt;下划线下划线-&gt;驼峰驼峰-&gt;下划线select regexp_replace('tSysUser', '([[:upper:]])(.)', '_\1\2') "initCustMoney", regexp_replace('userId', '([[:upper:]])(.)', '_\1\2') "custID...

2019-01-17 11:38:36 1439

原创 SpringBoot整合MyBatis

1、前言现在开发一个项目没使用持久化框架的应该是极少了,之前使用Spring整合MyBatis,需要配置一堆的配置文件。现在使用SpringBoot来整合MyBatis就很简单了,SpringBoot集成了SpringJDBC与JPA,但是没有集成MyBatis,所以想要使用MyBatis就要自己去集成。主要是在Spring Boot中集成MyBatis,可以选用基于注解的方式,也可以选择xml文件

2017-12-09 17:33:04 809

原创 SpringBoot链接MySQL

SpringBoot链接MySQL在学习任何一个后端技术,如果不让数据库参与进来,那只能说在学习过程中都不算完整的。下面就简单的使用Spring Boot链接MySQL数据库。该例子中没有使用其他的持久化框架,只是使用到了Spring自带的JdbcTemplate。

2017-12-08 17:40:30 18142 2

原创 SpringBoot整合Swagger

1、什么是Swagger      Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。本文简单介绍了在项目中集成swagger的方法和一些常见问题。       Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代

2017-12-06 19:29:17 1282

原创 使用Maven自动构建项目配置文件

1、使用背景 在实际项目中,运行环境通常有开发、测试、预发布、正式环境,在配置参数上各个环境可能存在差异,差异比较大的可能就是端口了。在之前我们每次发布一个环境都需要手动的修改对应的配置文件,这样做就会导致工作量的增加还容易出错。 Maven提供了一种方便解决这种问题的方案,那就是profile功能。2、profile简介 profile可以让我们定义一系列的配置信息,

2017-12-06 12:15:45 2044

原创 CSS3动画控制元素阶梯显示

CSS3动画控制元素阶梯显示实现这个效果简单总结分为以下几步: 1、将元素透明 2、增加动画 3、控制动画结束后的状态 4、控制动画执行时间

2017-11-22 11:51:12 2109

原创 Oracle策略的使用(dbms_rls.add_policy)

数据访问控制权限,是一个在实际项目中用得很平常的问题。比如公司部门,就工资来说,本人只能看到自己的工资信息,不能看到其他同事的信息,部门经理或更高级别的人可以看到他对应权限的信息,看到这里大多数人会选择在View加上Where子句来进行数据隔离。此方法编码工作量大、系统适应用户治理体系的弹性空间较小,一旦权限逻辑发生变动,就可能需要修改权限体系,导致所有的View都必须修改。除了这种实现,可以采用

2016-07-14 17:00:53 5477

原创 Java使用xml方式配置Log4j

将配置好的log4j.xml 放到项目的classpath下即可,如果项目是maven项目,那么将log4j.xml放入src/main/resources下,如果是普通项目,则放在src下。

2016-06-12 15:01:11 1561

原创 Java使用POI操作Excel

最近项目频繁使用到Java对Excel的操作,在项目中使用到POI,下面实现了对Excel读和写,都是通过反射的方式实现,这样就更具有通用的效果了。需要注意的是将一个类的数据写入到Excel中,那么类中的属性要与Excel中的标题一一对应,比如:Excel标题的顺序是姓名、年龄、住址,那么类中的属性名也要是姓名、年龄、住址这个顺序。当然这是要Excel有标题的时候,如果没有标题,那么类中的属性顺序

2015-10-26 14:31:39 722

原创 自定义弹窗

在实际开发或自己做点小东西的时候,用浏览器自带的弹窗感觉不怎么美观,就想自己定义一些弹窗的一些组件供整个项目使用,这里我实现了提示框,确认框和加载框。如下:这个效果的CSS代码:/*加载动画*/ @keyframes loading{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} } @-w

2015-09-10 19:47:02 1044

原创 解决MySQL链接不上问题

今天链接MySQL时出现如下问题:Host 'localhost' is not allowed to connect to this MySql server在网上找到了解决办法,在这里整理下,方便以后使用。1、使用管理员打开命令窗口,输入如下命令:停止mysql服务:sc stop mysql输入:mysqld --skip-grant-tables

2015-09-04 12:31:01 1803

原创 Eclipse使用Git

介绍在Window上如何安装Git,在GitHub上如何创建项目,Eclipse如何使用Git并且将项目同步到GitHub上。

2015-04-29 17:56:57 1054

原创 Java调用Oracle存储过程返回结果集

这里使用包的方式来实现存储过程,首先声明包头,再实现包体,如下:声明包头:create or replace package arvin_test_pack as --声明游标类型 type arvin_test_cursor is ref cursor; --声明存储过程 procedure arvin_test_1(vendor_id

2015-04-16 10:12:34 948

原创 Mybatis一对多双向关联

在弄Mybatis的一对多关联的时候,不知道有没有遇到这样的问题,本来数据库中对应有多条数据,然而关联出来却只有一条数据,比如数据库中有个班级表和学生表,数据库中一个班级中对应了多个学生,但使用Mybatis做一对多关联的时候,查询出来的却只有一条。如果出现这样的问题,那么就是两张数据表中的主键重名了,导致在关联查询时分不清到底是那一张表了,因此有关联的数据表时,主键id不要重名,一对多关联实现如

2015-01-07 22:29:59 1647 1

WebService之CXF

使用Apache CXF开发WebService,文档介绍了使用JDK开发WebService,然后介绍使用Apache XCF开发WebService,最后将CXF与Spring整合开发。

2016-10-23

使用SpringAop使用Oracle数据权限控制

使用SpringAop使用Oracle数据权限控制

2016-07-14

MyBatis学习笔记

介绍MyBatis框架的搭建,增删改查、动态SQL的使用,MyBatis与Spring的整合

2016-06-15

Java使用POI操作Excel

使用第三方jar的POI实现对Excel文件写入和读取,写入和读取Excel都是使用Java反射方式实现,可以匹配任何实体类

2015-10-26

自定义弹窗

使用jQuery实现自定义提示框、确认框和加载框。

2015-09-10

Maven环境配置

Maven环境配置包含了Maven的配置,eclipse配置Maven,使用eclipse创建java、javaWeb项目,配置Maven环境Nexus本地仓库环境。

2015-04-28

Logback使用

对Logback一些常用的配置进行整包,其中包括配置在控制台输出,输出到指定的文件中,自定义日志布局格式。

2015-04-28

全国省市区mysql数据库(单表)

全国省市区mysql数据库,维护在一张表中,经过多次测试,直接使用就可以了

2014-12-16

CSS3实现照片墙

使用CSS3的2D旋转,过度,缩放功能实现图片的实现

2014-11-30

自定义android侧滑菜单

自定义android侧滑菜单,包含了两种侧滑菜单效果,一种是菜单跟随内容一起被拖出来的效果,另一种是拖拽内容,菜单在内容后面固定不动。

2014-11-19

使用java将数据库数据导出到excel文件

使用Hibernate操作数据库,将数据库的表数据导出到Excel文件中

2014-11-12

使用SSH框架实现简单用户管理

整合SSH(SpringMVC,Spring,Hibernate)框架实现的用户登录,注册及对用户的增删改查操作。分页,排序及搜索。

2014-11-11

Android实现百度地图定位及自定义缩放图标

Android实现百度地图定位及自定义缩放图标

2014-11-03

Java实现验证码

使用Servlet实现java验证码,代码复制下来,直接可以使用

2014-07-07

MyEclipse 反编译插件的安装

在MyEclipse中安装反编译查件,这样我们在看源代码的时候就不用导入源代码包就可以直接查看源代码了

2014-01-05

SSH框架整合

Hibernate,Struts2,Spring框架之间的整合使用

2013-12-11

EasyUI官方API中文版

本资源是EasyUi的中文开发文档,相对来说是最新完整版

2013-11-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除