最近需要在SpringBoot下换国产达梦数据库,有个需求是一个用户下是有多个模式,需要在JDBC url下指定模式去连接。 通过研究,是这样的,记录如下以备忘: datasource: driver-class-name: dm.jdbc.driver.DmDriver url: jdbc:dm://192.168.1.2:5236/?schema=SYSDBA&serverTimezone=UTC&useSSL=false&useUnicode=true&characterEnc…
最近需要在SpringBoot下换国产达梦数据库,有个需求是一个用户下是有多个模式,需要在JDBC url下指定模式去连接。 通过研究,是这样的,记录如下以备忘: datasource: driver-class-name: dm.jdbc.driver.DmDriver url: jdbc:dm://192.168.1.2:5236/?schema=SYSDBA&serverTimezone=UTC&useSSL=false&useUnicode=true&characterEnc…
开发中常有需求将文件转成byte[]数组的场景,这里总结了一下几种常用的File转bytes的方式(直接转成bytes需要在内存里存放,所以仅使用文件不大的场景,如果遇到的文件很大,那么可能做法不是这样的,例如使用随机读取,一边读取一边处理等方式(RandomAccessFile)): 使用apache commons io 这个库,引入依赖: <dependency> <groupId>commons-io</groupId> <artifactId>commons…
使用MyBatis-Plus遇到一个问题,就是使用updateById()、update()做更新的时候,我想要把字段更新成NULL,但是却发现是不行的,更新成其他非NULL的值却是可以的。 问题原因 mybatis-plus中有一个字段更新(也有新增等)策略,FieldStrategy, 有三种策略: IGNORED:0 忽略 NOT_NULL:1 非 NULL,默认策略 NOT_EMPTY:2 非空 而默认更新策略是NOT_NULL:非 NULL;即通过接口更新数据时数据为NULL值时将不更新进数据库。 解决方…
简单使用 Java API规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernate validation是对这个规范的实现,并增加了校验注解如@Email、@Length等。Spring Validation是对hibernate validation的二次封装,用于支持spring mvc参数自动校验。接下来,我们以spring-boot项目为例,介绍Spring Validation的使用。 引入依赖 如果spring-boot版本小于2.3.x,spring…
想输入的时候,打出⌘⇧⌥⎋这些字符,之前都是网上搜索后复制过来的,起始MacOS下有比较方便的方式,可以打出这些特殊字符的。 首先按一下键盘上的地球仪键(有就是fn键盘,?)就会出现特殊字符(字符集),如果你的键盘没有地球仪键,可以在菜单栏-输入法调出『表情与符号』 不过你可能还是没有找到我们需要的上面那几个特殊符号,比如command键盘,不要急, 点击自定义列表后,把技术符号调出来 如图,现在特殊符号都出现了,双击其中你需要就可以输入了 不过还有个问题,就是 这个始终没有找到,其实只要按住键盘的快捷键:⇧…
本文使用Nginx搭建视频点播服务。也是最简单的一种配置方式。使用在hub.docker.com中的rtmp-hls最新的镜像搭建。 所要达到的目标也非常简单: 将mp4文件通过rtmp协议进行在线播放。 https://hub.docker.com/r/alqutami/rtmp-hls https://github.com/arut/nginx-rtmp-module 使用到的镜像为:当前时间(2020-05-08) alqutami/rtmp-hls:latest github地址:https://githu…
我们平时开发项目的时候,经常会需要远程调用下其他服务提供的接口,于是我们会使用一些HTTP工具类比如Hutool提供的HttpUtil。前不久SpringBoot 3.0发布了,出了一个Http Interface的新特性,它允许我们使用声明式服务调用的方式来调用远程接口,今天我们就来聊聊它的使用! 简介 Http Interface让你可以像定义Java接口那样定义HTTP服务,而且用法和你平时写Controller中方法完全一致。它会为这些HTTP服务接口自动生成代理实现类,底层是基于Webflux的WebCl…
概述 分布式系统面临的问题 Sleuth是什么 Zipkin是什么 链路监控相关术语 实战练习 入门练习 Zipkin下载与启动 搭建链路监控步骤 sleuth相关配置 向Zipkin发送消息的方式 Sleuth到底给Zipkin都发送了哪些数据? Zipkin配置持久化 引入sleuth是怎么输出traceId的 logback日志问题 除了Zipkin还有哪些链路跟踪 本篇文章所涉及到 spring cloud 2021.0.3+ springboot2.6.8 一、概述 1.1. 分布式系统面临的问题 在微服…
使用Apache POI生成单元格内容,给单元格设置了边框,代码如下: // 创建带有四个变量的CellStyle CellStyle cellStyle = workbook.createCellStyle(); cellStyle.setBorderBottom(BorderStyle.THIN); cellStyle.setBorderLeft(BorderStyle.THIN); cellStyle.setBorderRight(BorderStyle.THIN); cellStyle.setBorderT…
默认情况下使用ApachePOI生成的单元格Cell,我们给Cell设置内容后,如果内容比较多,宽度不够的情况下,里面的文字是不换行的,如果希望文本换行,可以有两种做法 将单元格设置为文本自动换行(推荐) HSSFCellStyle cellStyle = workbook.createCellStyle(); cellStyle.setWrapText(true); // 设置cellStyle格式为自动换行 cell.setCellStyle(cellStyle); // 给单元格cell设置cellStyle…