自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 列转行mysql实现以及mybatis实现

首先需求是这样的,而且标题这一行是可以做增删改操作的,所以是动态的。假设标题列是固定的,sql如下SELECT d.`onduty_time`,(CASE t.`onduty_name` WHEN '区值班领导' THEN p.`name` ELSE NULL END) '区值班领导',(CASE t.`onduty_name` WHEN '局值班领导' THEN p.`name` ELSE NULL END) '局值班领导',(CASE t.`onduty_name` WHEN '值班

2020-07-01 14:13:53 910

原创 rank() dense_rank()row_number()

rank()排序相同时会重复,总数不变,即会出现1、1、3这样的排序结果;dense_rank()排序相同时会重复,总数会减少,即会出现1、1、2这样的排序结果;row_number()排序相同时不会重复,会根据顺序排序

2022-10-27 10:23:51 418 1

原创 打可运行的jar包步骤

打包可运行的jar包步骤

2022-09-16 11:16:12 284

原创 mysql排序失效问题

问题可以看到sql语句是没有问题的,但是排序缺出现问题发现这个字段是varchar类型。不能直接排序解决: 在不修改原有设计的情况下,只能改SQL了,我们需要先把字符串转数字。字符串转数字的三种方式:(1)+0order by (serial_number+0) desc(2)用函数CAST(value as type)或CONVERT(value, type)type可为DECIMAL (浮点数 )、SIGNED(整数)、UNSIGNED (无符号整...

2022-04-27 10:23:07 2305 1

原创 使用雪花算法作为id返回前端精度丢失问题解决

后端id类型是Long类型,数据库存储id的类型是bigint传到前端发现和数据库存储的数据不一致,精度丢失解决思路:后端的ID(Long) ==> Jackson(Long转String) ==> 前端使用String类型的ID,前端使用js string精度就不会丢失了。那前端再把String类型的19位数字传回服务端的时候,可以用Long接收么?当然可以,这是Spring反序列化参数接收默认支持的行为。最终方案就是:添加全局的配置。前端用String类型的雪花ID保持精度,后端

2022-01-06 17:50:16 1176

原创 ehcache是什么?ehcache和redis比较?ehcache结合springBoot如何使用?

ehcache是什么:ehcache(1)---简介_猿累人生-CSDN博客_ehcache是什么ehcache和redis比较?ehcache结合springBoot如何使用?关于ehcache缓存的使用(简单对比redis) - 一个什么都不会的人 - 博客园

2021-12-29 11:30:14 479

原创 nacos的cp和ap原则,服务健康检查

CP和APCAP原则:cap理论是针对分布式数据库而言的,它是指在一个分布式系统中,一致性(Consistency,C)、可用性(Availability,A)、分区容错性(Partition Tolerance, P)三者不可兼得。nacos支持AP(可用性 | 分区容错性) 和 CP(一致性 | 分区容错性)两种 默认是AP如果注册Nacos的client节点注册时ephemeral=true,那么Nacos集群对这个client节点的效果就是AP,采用distro协议实现;而注册Naco.

2021-11-12 10:53:20 10277

原创 使用Predicate进行多条件查询包含and 、like、关键字搜索等方法

private List<Predicate> getAndPredicateList(CriteriaBuilder criteriaBuilder, CriteriaQuery query,Root root, DangerInfoSearchDTO dto) { // 多条件And 查询 List<Predicate> predicateList =.

2021-11-04 10:37:19 3580

原创 找不到openjdk-1.8-tools和openjdk-1.8-jconsole

Failed to execute goal on project mis-info-dao: Could not resolve dependencies for project com.gsafety.typhoon:mis-info-dao:jar:2.0.0-SNAPSHOT: The following artifacts could not be resolved: com.sun:tools:jar:1.8, com.sun:jconsole:jar:1.8: Could not find..

2021-09-01 13:45:42 2490 4

原创 配置完jdk,cmd输入java、javac、java -version命令没有反应

可能存在的错误:1.变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; //记得前面有个"."。2.标1的地方删掉以后好使了。

2021-09-01 13:30:48 885

原创 JSONArray 1.8新特性循环取出

2021-08-30 16:18:57 290

原创 nacos、Eureka、apollo三者比较

CAP理论CAP理论是分布式架构中重要理论一致性(Consistency) (所有节点在同一时间具有相同的数据)可用性(Availability) (保证每个请求不管成功或者失败都有响应)分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)关于P,在整个系统中某个部分,挂掉了,或者宕机了,并不影响整个系统的运作或者说使用,而可用性是,某个系统的某个节点挂了,但是并不影响系统的接受或者发出请求,CAP 不可能都取,只能取其中2个原因是:

2021-08-17 17:21:09 2415

原创 演示如何修复一个提交流程,项目如何同步产品的最新代码

# 检出fork的项目代码# git clone http://xxx.git# 添加产品仓库remote productcd iams-servergit remote add product http://devops.wh.gsafety.com/git/gemp/ems/iams-server.git# 查看远程仓库状态,此时本地会有2个远端分支origin(项目), product(产品)git remote -v# 同步产品master分支代码(稳定)git pull p.

2021-08-11 17:11:14 70

原创 mysql通过对比一张表的数据来修改另一张表sql

UPDATE emergency_supplies_equipment e1,emergency_supplies_warehouse e2 SET e1.belong_warehouse=e2.wid WHERE e1.belong_warehouse=e2.wh_name

2020-10-12 15:04:46 577

原创 导出时合并单元格

首先需要导出的页面是这样,涉及到合并单元格的操作调用合并单元格需要的参数说明String fileName = "调休统计表";String[] head0=new String[] {"姓名","值班类型","工作日夜班","工作日夜班","周末公休日和法定节假日","周末公休日和法定节假日","合计补休(天)"};String[] headnum0 = new String[] { "1,2,0,0", "1,2,1,1", "1,1,2,3",

2020-09-11 10:43:56 726

转载 Object数组转String数组

1、System.arraycopy把一个数组中某一段字节数据放到另一个数组中//src:源数组;srcPos:源数组要复制的起始位置;dest:目的数组;destPos:目的数组放置的起始位置;length:复制的长度.public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)Object[] src = { "A", "B", "C" };String[] dest =

2020-09-09 19:45:52 7596

原创 阿里云短信功能实现

1.添加以下依赖安装阿里云Java SDK核心库。<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.5.1</version></dependency> @Test public Boolean test7..

2020-07-28 23:44:21 211

转载 Elasticsearch和Solr比较

ElasticSearch vs Solr 总结  (1)es基本是开箱即用,非常简单。Solr安装略微复杂一丢丢,可关注(solr6.6教程-基础环境搭建(一))  (2)Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能。  (3)Solr 支持更多格式的数据,比如JSON、XML、CSV,而 Elasticsearch 仅支持json文件格式。  (4)Solr 官方提供的功能更多,而 Elasticsearch...

2020-07-25 22:07:38 166

原创 将项目生成api及maven依赖,用feign暴露接口给外部调用

首先写一个某接口的feign,对外暴露接口1.controller@Api(tags = "用户管理内部接口")@RestController@RequestMapping("/v1/inter/user")public class UserInterController { @Resource private UpmsUserService upmsUserService; @ApiOperation("根据用户名获取用户信息(用户id,密码,组织机构等信息),

2020-07-21 22:14:23 1686 1

原创 linux中的vim相关命令,磁盘管理和用户账号命令

三种使用模式基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。这三种模式的作用分别是:命令模式:用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。以下是常用的几个命令: i 切换到输入模式,以输入字符。 x 删除当前光标所在处的字符。 ...

2020-07-19 18:26:47 108

原创 linux必备命令总结

/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。 /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。 /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。 /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的..

2020-07-19 15:34:37 85

原创 linux部署需要用到的命令

查看端口netstat -ntulp |grep 80杀死进程kill -9 324去除空格sed -i 's/\r//' start.sh启动sh start.sh start查看sh start.sh status

2020-07-14 20:52:23 180

转载 在SpringBoot中输出mybatis中的SQL

第一种方式:在配置文件中增加这么一行配置:效果:第二种方式:或者在日志文件中添加:效果:第三种方式:在app.yml文件中添加:效果:可以看出第三种方式就是将我们的mapper接口所在的包进行日志配置,所以如果项目使用的是Spring的话,也可以直接在日志文件中配置mapper所在的包:...

2020-07-01 12:59:08 809

原创 定时任务

1.首先在启动类上添加@EnableScheduling//开启定时功能的注解2.写定时方法//{秒数} {分钟} {小时} {日期} {月份} {星期}@Scheduled(cron = "0/2 * * * * ?")public void hello(){ System.out.println("hello,你被执行了");}三:每个字段的允许值字段 允许...

2020-06-18 12:52:32 151

转载 java中Date日期类型的大小比较

java中Date日期类型的大小比较方法一:java.util.Date类实现了Comparable接口,可以直接调用Date的compareTo()方法来比较大小 String beginTime = "2018-07-28 14:42:32"; String endTime = "2018-07-29 12:26:32"; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");...

2020-06-18 12:51:03 487

转载 mysql数据库中的时间类型及相关操作

一、MySQL中 日期和时间类型参考MySQL 数据类型(还有其他知识)参考SQL 数据类型表示时间值的日期和时间类型为 DATETIME、DATE、TIMESTAMP、TIME和YEAR。每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。TIMESTAMP类型有专有的自动更新特性。MySQL中 日期和时间类型 类型 大小(字节) 范围 格式 用途 DATE 3 1000-01-01/9999..

2020-06-18 12:50:46 670

原创 配置maven本地仓库以及在idea中配置maven的本地仓库以及配置maven的阿里云镜像

一:配置maven1.先下载maven,这是maven下载路径http://maven.apache.org/download.cgi#选择自己的下载位置,这个是我的maven位置然后建一个自己的maven仓库的位置,这是我的位置然后修改maven下的config下的settings,位置如图编辑如图,这里配置的就是自己定义的maven仓库的位置。这样maven下载下来的包文件就不会去找它默认的位置,而是往我们自己配置的maven仓库的位置下下载包文件。maven

2020-06-05 16:16:41 578

原创 配置jdk

下载下jdk后,解压,然后就开始进行配置吧//D:\tools\jdk8\Java\jdk1.8.0_211这是我的jdk放置位置1.先配置JAVA_HOME2.然后再配置CLASSPATH3.最后配置Path

2020-06-05 15:36:41 80

原创 忽略转义的工具类StringEscapeUtils

可以解决字符串中带有\转义字符无法转换为json的问题StringEscapeUtils.unescapeJava(result);StringEscapeUtils.unescapeJson(result);

2020-05-19 12:34:38 560

原创 isNotEmpty()和isNotBlank()区别

isNotEmpty(str)等价于 str != null && str.length > 0isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length > 0同理isEmpty 等价于 str == null || str.length == 0isBlank 等价于 str == null || str.length == 0 || str.tr.

2020-05-13 10:19:46 351

原创 动态代理demo

//1.先定义一个接口public interface Demo { void parent(); void child();}//2.接口的实现类public class DemoImpl implements Demo {/** * 预期结果 * ==========代理中增加了额外的处理逻辑=========== * ==========代理中增加了额外的处理逻辑=========== * ========child========.

2020-05-12 14:12:19 111

原创 用 Spring 的 @Transactional 注解控制事务有哪些不生效的场景?

一. Spring事务分类Spring 提供了两种事务管理方式:声明式事务管理和编程式事务管理。1.1编程式事务在 Spring 出现以前,编程式事务管理对基于 POJO 的应用来说是唯一选择。我们需要在代码中显式调用 beginTransaction()、commit()、rollback() 等事务管理相关的方法,这就是编程式事务管理。简单地说,编程式事务就是在代码中显式调用开启事务、提交事务、回滚事务的相关方法。1.2声明式事务Spring 的声明式事务管理是建立在 Spring

2020-05-12 10:51:23 436

原创 SpringBoot集成分页插件PageHelper的配置和使用方法

pom.xml配置<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.12</version></dependency>properties配置信息## pagehelper分页插..

2020-05-11 19:25:29 6679

原创 实现Comparable接口和重写compareTo方法

当对象实现了Comparable接口重写了compareTo方法如下:public class User implements Comparable<User>{ private int age; private String name; public User() { } public User(int age, S...

2020-05-08 15:06:56 660

转载 @RequestParam和@RequestBody区别

@RequestParam用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容。(Http协议中,如果不指定Content-Type,则默认传递的参数就是application/x-www-form-urlencoded类型)RequestParam可以接受简单类型的属性,也可以接受对象类型。实质是将Request.ge...

2020-05-08 10:33:06 145

原创 springBoot连接数据库配置及整合mybatis

#spring.datasource.username=root#spring.datasource.password=123456#spring.datasource.url=jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimez...

2020-04-30 20:58:17 636

原创 SpringBoot整合redis

一:了解说明:在SpringBoot2.x之后,原来使用的jedis被替换为了lettucejedis :采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全,使用jedis pool 连接池!更像BIO 模式lettuce :采用netty ,实例可以再多个线程中进行共享,不存在线程不安全的情况!可以减少线程数据了,更像NIO模式二:源码分析三:测试连接1.导入po...

2020-04-29 22:18:14 164

原创 SpringBoot发送邮件

1.pom.xml中导入xml配置<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>2.在application中...

2020-04-29 19:43:58 157

原创 后端接口转为异步任务

1.在方法上添加@Async注解,标识此方法为异步方法2.在启动类上添加@EnableAsync,开启异步任务

2020-04-29 17:24:00 1198

原创 Swagger2使用

1.在pom文件中进行配置<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></dependency&...

2020-04-29 14:05:49 502

空空如也

空空如也

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

TA关注的人

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