自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot打jar包并上传到Nexus仓库供其他项目使用

springboot打jar包并上传到Nexus仓库供其他项目使用

2022-08-02 11:34:32 1274 1

原创 sonarQube代码质量分析

使用sonarQube可以帮助我们分析自己代码上的一些问题,能够及时发现解决问题。一、搭建环境:centos7.9 + docker + sonar7.6 + mysql5.7 + jdk1.8 + IEDA1.1 docker安装可以参考我之前的文章:centos7 安装docker_震旦小读者的博客-CSDN博客1.2 docker下安装mysql5.7# 拉取镜像,指定mysql版本docker pull mysql:5.7.36# 运行容器docker run -d

2022-05-28 15:49:21 694

原创 elasticsearch7.8.0 javaAPI入门操作

环境:springboot2.3.3.RELEASE引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>一、客户端

2022-05-25 17:46:31 472

原创 elasticsearch7.8.0入门操作

一、基本概念Cluster:集群, 由一组 es 实例组成Node:节点, 单个 es 运行的实例Index:索引, 类似于数据表Type 类型ES7以后固定值是 _docDocument: 文档, 类似于数据表中的一条数据Field: 字段, 类似于数据表的字段Mapping:映射, 类似于数据表的字段定义, 包括数据类型二、索引-增删改查2.1 创建索引,PUT请求,不能重复添加http://192.168.0.104:9200/shopping2.2 全查

2022-05-25 11:59:49 428

原创 centos7安装elasticsearch7.8.0

环境搭建:centos7.9 / es7.8.0一、下载安装wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-x86_64.rpmwget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-x86_64.rpm.sha512shasum -a 512 -c elasticsearch-7.8.0

2022-05-24 15:49:45 494

原创 SpringBoot下的参数校验和全局异常

日常开发中,前后端都会对传递的参数进行校验,前端为的是更好的交互体验,后端则更是为了接口的安全,数据的正确性做了各种各样的校验。环境:springboot2.3.3.RELEASE校验依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId>&lt

2022-05-23 16:52:36 638

原创 数据库三大范式和反范式

查阅数据库三大范式相关理论知识的过程中,我想起了某一次面试,面试官问我要设计一个学生管理系统,数据库这方面你想怎么设计。我当时噼里啪啦讲了好多具体怎么做,有什么表呀,什么字段呀,根据业务来具体决定之类的。面试官当时笑眯眯的,也不给个提示。现在想起来,大写的尴尬。其实业务上,你没做过相关行业,很难说的比较准确的。面试主要还是一些经验理论的解决方案。虽然实际工作中,我们设计数据库表也是会尽量多思考实际业务情况,尽量把表设计得好一点,可是工作归工作,面试归面试。做出来的东西都是需要理论等其他知识支撑的。第一范

2022-05-18 13:52:57 205

原创 hutool工具类的post请求不同类型参数的接口

hutool:5.0.5接口测试都是这个文章的测试接口springBoot下的post接口_震旦小读者的博客-CSDN博客一、表单提交方式(@RequestParam修饰的参数)// Map<String, Object> param = new HashMap<>(); JSONObject param = JSONUtil.createObj(); param.put("name", "test"); p

2022-05-12 17:21:21 9560 1

原创 springBoot下的post接口

一、普通表单数据 /** * 普通表单数据 * @param name * @param age * @return */ @PostMapping("/testForm") public R testForm(@RequestParam("name") String name, @RequestParam("age") Integer age) { return R.success(new DemoPojo(na

2022-05-12 14:55:54 4045 1

原创 tomcat配置直接通过url访问图片

配置文件vim /usr/local/tomcat9/conf/server.xml在<Server><Service><Engine><Host>的节点里面添加<Context docBase="/usr/local/img" path="img" />docBase是图片的实际存储路径,path是虚拟访问路径通过http://ip:port/path/图片名即可访问...

2022-05-11 14:53:08 996

原创 2021-12-25杂记

@UtilityClass一般作用于工具类上。在使用@UtilityClass注解后,所有的方法和属性都会被加上static关键字,并且该类会创建一个私有的空参构造器。@ConditionalOnWebApplication(type = Type.SERVLET)判断当前应用是否是 Web 应用,如果是的话,当前配置类生效。@ComponentScan 注解只能扫描 spring-boot 项目包内的 bean 并注册到 spring 容器中,因此需要 @EnableAutoConfigu.

2022-05-05 14:27:08 258

原创 springboot 父子工程打jar包

一、先搭建一个父子工程项目,springboot项目父pom <groupId>com.xxx</groupId> <artifactId>fzjar</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module&

2022-04-28 16:01:45 1766

原创 centos7安装nginx

1、检查是否已经安装过nginxfind -name nginx有的话就卸载yum remove nginx2、进入/usr/local/ 下载nginxwget http://nginx.org/download/nginx-1.12.0.tar.gztar -zxvf nginx-1.12.0.tar.gz3、进入解压目录./configure --prefix=/usr/local/nginx报错:./configure: error: C compil

2022-04-27 15:23:23 1844

原创 sharding-jdbc02-分库分表实践

一、前文已经搭配好mysql主从环境,接着用springboot+druid+mybatisplus+shardingjdbc实践springboot:2.3.5pom.xml<dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter&lt

2022-04-20 15:14:16 899

原创 sharding-jdbc01-主从分离环境搭建

一、完全卸载mysql1.1 查看并删除mysql安装了的东西rpm -qa |grep -i mysqlyum remove XXX(上面查到的结果)1.2 删除mysql相关目录find / -name mysqlrm -rf XXX(上面查到的结果)1.3 删除/etc/my.cnfrm -rf /etc/my.cnf1.3 删除/var/log/mysqld.log(如果不删除这个文件,会导致新安装的mysql无法生存新密码,会出现无法登陆的情况)rm -rf

2022-04-19 18:02:12 817

原创 MyBatis-Plus updateById 不更新null字段

问题: xxxService.updateById(xxx) 默认不会更新值为null的字段原因:mybatis-plus的fieldStrategy的策略有三种,分别是IGNORED-0-忽略,NOT_NULL-1-非NULL(默认策略),NOT_EMPTY-2-非空,所以造成不更新的原因是默认策略。解决办法:1、设置全局的fieldStrategy2、对字段单独设置策略@TableField(updateStrategy= FieldStrategy.IGNORED)3、使.

2021-11-01 11:19:49 4242

原创 docker下nginx挂载配置文件

一、创建挂载目录mkdir -p /data/nginx/{conf,conf.d,html,logs}二、进入容器docker run -i -t nginx /bin/bash三、复制容器里的配置文件到宿主机刚创建的文件夹下面docker cp 63f22e3363fe:/etc/nginx/nginx.conf /data/nginx/conf/nginx.confdocker cp 63f22e3363fe:/etc/nginx/conf.d/default.conf .

2021-09-08 14:33:37 788

原创 docker 安装旧版minio服务

一、说明7月份之后的新版minio使用体验各种不合适,还是之前旧版的简单耐用。相对来说,网上旧版的minio学习资料更多,参考了网上的一些文章,总结docker安装旧版minio服务的步骤。二、安装指定版本docker pull minio/minio:RELEASE.2021-06-17T00-10-46Z三、运行miniodocker run -p 9000:9000 --name minio -di --restart=always \ -e "MINIO_ROOT_USER=.

2021-09-03 15:11:16 2104

原创 centos7 安装docker

一、查看内核版本uname -a,3.10版本以上才行二、安装依赖软件包sudo yum remove docker docker-common docker-selinux docker-enginesudo yum install -y yum-utils device-mapper-persistent-data lvm2三、设置yum源sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce.

2021-09-03 15:00:06 174

原创 win10下Jmeter简单实用

默认jdk已经安装配置好了。1 下载资源官网:http://jmeter.apache.org/2 配置环境变量新建系统变量变量名称:JMETER_HOME变量值:解压的jmeter安装路径配置系统classpath变量%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar%JMETER_HOME%\lib\jorphan.jar%JMETER_HOME%\lib\logkit-2.0.jar3 启动jmeter.bat..

2021-08-26 18:02:10 223

原创 Spring Security Oauth2

前面一篇关于认证授权的文章,已经有较多而且比较好的博客文章介绍了Oauth2的概念和流程。https://blog.csdn.net/RX_780/article/details/119215001常用的两种模式主要是授权码模式和密码模式,最终都是为了拿到acces_token(令牌)。授权码模式:client_id、client_secret-》code-》token密码模式:username、password-》token主要实现流程:一、认证服务器配置@EnableAu

2021-08-06 11:32:12 226

原创 关于认证授权的博客好文章

1、jwt token 过期刷新_基于 JWT + Refresh Token 的用户认证实https://blog.csdn.net/weixin_39545895/article/details/110801353https://www.cnblogs.com/minirice/p/9232355.html2、深入理解Spring Cloud Security OAuth2及JWThttps://www.jianshu.com/p/cb886f995e863、阮一峰oauth2.0h

2021-07-29 16:49:18 87

原创 代码规范——domain包中的javabean

代码规范十分重要,本文参考git上的某一个项目摘抄的记录。后续文章不再说明。https://github.com/1024-lab/smart-admin1、javabean整体要求不得有任何的业务逻辑或者计算 基本数据类型必须使用包装类型(Integer, Double、Boolean 等) 不允许有任何的默认值 每个属性必须添加注释,并且必须使用多行注释。 必须使用 lombok 简化 getter/setter 方法 建议对象使用 lombok 的 @Builder ,@NoAr

2021-03-25 15:21:08 202

原创 Mysql 查询优化(一)

前言:工作上遇到需要优化查询速度的任务,在网上找了比较多的资料,主要还是索引的优化,最后解决问题。环境:mysql版本:8数据量:60万sqlyog可视化工具问题描述:1、单表查询(未优化查询速度大概是5~7s)SELECT* FROM actionlogs ORDER BY create_time, code LIMIT 0, 302、分组查询(未优化查询速度大概是5~7s)SELECT en_name, cn_name FROM actionl...

2020-12-15 13:28:57 152

原创 HttpClient方式请求发送multipart-form-data混合数据(包括多个文件和json字符串等)

前言:之前用了spring框架的restTemplate实现multipart-form-data混合数据(包括多个文件和json字符串等)的上传,现在使用httpClient方式来实现。环境:<dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>

2020-11-16 15:34:28 3077 1

原创 java的枚举类简单例子

简单的枚举类:public enum PlaceCode { PLACE_CODE_BZHKD("10", "大学"), PLACE_CODE_KC("11", "高中") ; private String code; private String value; PlaceCode(String code, String value) { this.code = code; this.value = value

2020-11-16 14:28:09 173

原创 Mysql 重复添加唯一键导致索引数目超出mysql范围-Too many keys specified; max 64 keys allowed

前言:今天跑脚本的时候,发现了一个错误:Too many keys specified; max 64 keys allowed,开始一脸懵逼,看脚本去。环境:mysql8分析:ALTER TABLE `table_t` ADD UNIQUE(`c`);这句话简单的将字段c添加了唯一约束。如果脚本只是这样写的话,没执行一次这个sql语句,数据库都会新增一个新的索引值,c,c_1.c_2直到超出了mysql索引数目64,然后报错:Too many keys specified; max 6

2020-11-13 17:47:26 3795

原创 RestTemplate方式请求发送multipart-form-data混合数据(包括多个文件和json字符串等)

前言:日常我们使用http发送请求到其他服务器接口的时候,一般都是发送json格式的数据,或是json串、或是key-value值,格式是 application/json。但也可能遇到需要同时发送多个文件以及其他类型参数的混合数据,这时候,我们使用的http的contentType就是 multipart/form-data。针对这一需求,我们有多种方式实现:1借助spring自身的RestTemplate实现;2借助httpClient实现;环境:spring 4.3.0以上(4.3之前版本

2020-11-13 17:24:08 9192

原创 Ubuntu16系统时间修改

1. sudo date -s MM/DD/YY //修改日期,MM:月, DD:日, YY:年2. sudo date -s hh:mm:ss //修改时间3. sudo hwclock --systohc4. 查看系统时间 date

2020-11-04 10:09:20 639

原创 MySQL GROUP BY clause; this is incompatible with sql_mode=only_full_group_by异常

临时解决: 重启mysql服务后问题依然存在SELECT @@GLOBAL.sql_mode;SET @@GLOBAL.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'需修改mysql配置文件,通过手动添加sql_mode的方式强制指定不需要ONLY_FULL_GROUP_BY属性, my.cnf位于etc文件夹下,vim.

2020-11-02 14:18:03 859

原创 获取list中的最大值

java.utilList<Integer> numList = new ArrayList<>();Integer max = Collections.max(numList);

2020-11-02 11:51:42 9260

原创 DATE_FORMAT函数的使用(时间戳格式转换、比较)

作用:格式化日期时间语法:DATE_FORMAT(date,format)date 参数是合法的日期。format 规定日期/时间的输出格式。1、获取年月日DATE_FORMAT(a.`ts`, '%Y-%m-%d')--》2020-11-022、获取时分秒DATE_FORMAT(a.`ts`, '%T') 或者DATE_FORMAT(a.`ts`, '%H:%i:%s')--》20:00:003、常用符号标识%a:缩写星期名%b:缩写月名%c:月,数值...

2020-11-02 11:43:47 25230

原创 Java的经验之谈

Java一年经验之谈

2020-06-07 11:55:54 180

原创 Android 蓝牙BLE开发(二 基本流程)

Android 蓝牙BLE开发(二 基本流程)一、概述低功耗蓝牙(BLE)实现交互功能可以分为4个步骤:发现设备--&gt; 配对/绑定设备--&gt; 建立连接--&gt; 数据通信1、发现设备 主设备(Central),发现方, BluetoothAdapter.startLeScan(); 从设备(peripheral), 被发现方, 发出广播,以供发现。2、配对/绑定设备 ...

2018-06-03 21:51:40 773

原创 Android 蓝牙BLE开发(一 熟悉基本概念)

Android 蓝牙BLE开发(一 熟悉基本概念) 自学Android有差不多一个月了,手头上也一直做关于BLE蓝牙的项目,期间看过别人很多的文章例子,获益匪浅。现在大概能够理通基本的概念和实现简单的蓝牙手机串口通信。接下来就会实现手机通过蓝牙串口与单片机的通讯。但这时候,我觉得需要将基本学习到的东西记录巩固下来。一、有什么(以下摘抄自其他网友的语录)一个BLE终端可以包含多个Servic...

2018-06-03 21:20:03 348

原创 Android: RelativeLayout 记录

1、 基本内容 一图解决: 2、父容器定位示意图 3、根据兄弟组件定位 注意,此图组件1和2是兄弟组件,组件3不是。兄弟组件指是同一层次容器的组件。梅花布局比较有趣,也比较简单。大家也可以试试。4、margin 和 padding 的区别 margin代表的是偏...

2018-05-31 21:33:38 199

原创 Android: LinearLayout 记录

1、 意义2、 使用方式

2018-05-31 20:53:16 168

原创 Git初次使用(Windows)

1、创建代码仓库 1.1 配置身份 打开Git Bash,输入一下命令: git config --global user.name "xxx" git config --global user.email "xxxxxx" 确认是否成功,只需要将以上命令的名字及邮箱去掉即可。 1.2 创建代码仓库(Repository)...

2018-05-19 22:29:38 442

空空如也

空空如也

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

TA关注的人

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