- 博客(62)
- 资源 (13)
- 收藏
- 关注
原创 java springBoot实现RabbitMq消息队列 生产者,消费者
运行项目 调用RabbitmqTestController生产RabbitMq消息体, TestExchangeConsumer和TestQueueConsumer自动消费。7.消息队列消费者RabbitMqConfiguration文件配置。6.消息队列生产者MessageProvider方法。5.RabbitMq的QueueContent文件。4. RabbitMq的Action文件。1.RabbitMq的数据源配置文件。3.RabbitMq文件目录预览。生产者Controller。
2023-11-15 16:04:34 767
原创 com.alibaba.fastjson.JSONObject 和JSONArray转实体
JSONArray转实体List<PeakValley> list = JSONObject.parseArray(data.getString("peakValleyList"), PeakValley.class);JSONObject转实体ZqSiteChargerOrder order = JSONObject.parseObject(data.toJSONString(), ZqSiteChargerOrder.class);
2021-09-27 11:02:27 564
原创 springboot集成redis哨兵模式(1主2从三哨兵)
部署redis1主2从3哨兵请移步jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>application-pro.yml配置启动项目 一主两从 出现红.
2021-04-08 18:09:59 441 1
原创 docker-compose 安装redis哨兵模式(1主2从3哨兵)
1.docker-compose安装redis1主2从请点击上面我已经部署了redis一主2从 三个服务器 192.168.0.11,192.168.0.12,192.168.0.133哨兵的话我是放在同一个服务器192.168.0.11上面去监听节点目录接口docker-compose.ymlversion: '3.4'services: sentinel1: image: redis container_name: redis-sentinel...
2021-04-08 17:45:31 562
原创 docker-compose 部署MongoDB4.0 部署replica set(副本集)集群 多服务器
docker以及docker-compose安装请点击准备三台服务器 192.168.0.11192.168.0.12192.168.0.13生成keyFileMongoDB使用keyfile认证,副本集中的每个mongod实例使用keyfile内容作为认证其他成员的共享密码。mongod实例只有拥有正确的keyfile才可以加入副本集。keyFile的内容必须是6到1024个字符的长度,且副本集所有成员的keyFile内容必须相同。有一点要注意是的:在UNIX系统中,k...
2021-04-08 12:20:16 957 2
原创 docker-compose 安装redis主从 (多服务器)
docker和docker-compose安装请点击准备两台服务器192.168.0.11(主) 192.168.0.12(从)192.168.0.11(主)安装redisversion: '3.7'services: master: image: redis container_name: redis-master restart: always command: redis-server --port 6379 --requi...
2021-03-31 12:47:34 592
原创 docker-compose 安装mysql 主从 (多台服务器)
docker和docker-compose安装请点击1.准备两台服务器192.168.0.11(主) 192.168.0.12(从)配置mysql主机目录结构192.168.0.11(主)安装mysql创建mysql 的docker-compose.yml文件version: '3'services: mysql: image: mysql restart: always container_name: mysql_mast...
2021-03-31 12:05:55 1077 1
原创 数据库设计及索引优化
数据库设计及索引优化MySQL数据库本身高度灵活,造成性能不足,严重依赖开发人员的表设计能力以及索引优化能力,在这里给几点优化建议时间类型转化为时间戳格式,用int类型储存,建索引增加查询效率 建议字段定义not null,null值很难查询优化且占用额外的索引空间 使用TINYINT类型代替枚举ENUM 存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE 字段长度严重根据业务需求来,不要设置过大 尽量不要使用TEXT类型,如必须使用建议将不常用的大字段拆分到其它表 MyS
2020-12-23 10:45:18 165
原创 java代码连接数据库实例
写一个加载驱动的公共方法DBUtilpackage com.zq.framework.config.properties;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;import org.springframework.context.annotation.Configuration;@Configurat
2020-12-22 09:38:09 359 2
原创 一个合格的程序员,要学会代码重构
前几天看了一下别人实习生写的代码,有了大量的if/else,虽然if/else可以帮助我们很方便的写出流程控制代码,也便于阅读,但是有时候的过多的if/else看起来确实不舒服,话不多说,先把代码贴出来:public BaseData updateBaseData(List<DataParams> params) { BaseData data = new BaseData(); for (DataParams dataParams : params) { if (data
2020-12-21 13:11:57 356
原创 微信小程序支付流程
WxPayControllerpackage com.example.demo.com.example.wxPay.controller;import java.math.BigDecimal;import java.util.HashMap;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.validation.Valid;import org.slf4j.Logger;i
2020-12-18 10:20:30 767 1
转载 Collectors详解
Student s1 = new Student("aa", 10,1); Student s2 = new Student("bb", 20,2); Student s3 = new Student("cc", 10,3); List<Student> list = Arrays.asList(s1, s2, s3); //装成list List<Integer> ageList = list.stream().map(S...
2020-11-25 15:26:45 1918
原创 docker-compose 安装redis
1、创建docker-compose.ymlvim docker-compose.ymlversion: '2'services: redis: image: redis:5.0.0 container_name: redis command: redis-server --requirepass 123456 ports: - "16379:6379" volumes: - ./..
2020-11-18 09:59:20 1962 1
原创 docker-compose 安装mysql
第一步:首先安装docker 和docker-compose安装步骤见我另一篇文章https://blog.csdn.net/qq_37557563/article/details/109747026第二步:在root目录下面建立docker-compose-service/mysql文件夹 docker-compose-service文件是我以后存放所有安装的容器地址新建一个docker-compose.yml文件夹version: '3'service...
2020-11-18 09:53:48 4691 2
原创 linux安装docker和Docker Compose
docker 安装安装依赖包sudo yum install -y yum-utils device-mapper-persistent-data lvm2 设置阿里云镜像源sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 安装 Docker-CEsudo yum install docker-ce报错...
2020-11-17 17:02:23 2748 1
转载 xshell连接到VMware虚拟机(ip地址配置)
1:打开虚拟机在终端输入ip addr(中间有空格),查看本机IP,127.0.0.1为本地环回地址,正确的应该是192.168开头,问题找到了2:输入命令:ls /etc/sysconfig/network-scripts/查看网卡列表,一般默认第一个就是你电脑的网卡。3:输入命令 cat /etc/sysconfig/network-scripts/ifcfg-ens33 查看有线网卡信息。 PS:可以用向上箭头返回之前的指令,然后修改,就不用重复全部输入...
2020-11-17 16:58:57 1949
转载 EXPLAIN详解与索引最佳实践
1. EXPLAIN执行计划 使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是 如何处理你的SQL语句的,分析 你的查询语句或者表结构的性能瓶颈。 语法 :Explain + SQL语句 在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询时,会返回执行 计划的信息,而不是执行这条SQL(如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表 中) 1.1 执行计划作用 表的读取顺...
2020-10-27 08:41:58 2020
原创 mysql查询半年内的数据数量报表格式为1月:20.........
SELECT concat(t1.month,"月") as signingMonth, IFNULL(count(1),0) AS signingNum FROM ( SELECT MONTH(DATE_FORMAT(CURDATE(), '%Y-%m-%h')) as month UNION S...
2020-10-26 08:55:13 1987 1
原创 mysql查询多个表的数据合并行
select ifnull(b.chargeNum,0) as chargeNum,ifnull(a.electricNum,0) as electricNum,ifnull(c.electricity,0) as electricity,ifnull(d.mileage,0) as mileage from ( select count(1) as electricNum from test_car_statistical where type=1 and date(c...
2020-10-26 08:53:10 2232 1
原创 使用mybatis-collection级联功能进行递归查询
表结构汽车品牌表汽车型号表 父级是汽车品牌表主键汽车款式表 父级是汽车型号表主键id业务层就不写了主要是xml层实体类接受格式 一级套一级public class ZqCarBrand implements Serializable { private static final long serialVersionUID = 1L; /** * 汽车品牌id */ private Long id;.........
2020-10-21 11:05:03 2374
转载 java的幂等性处理
探讨一下实现幂等性的几种方式什么是幂等性?对于同一笔业务操作,不管调用多少次,得到的结果都是一样的。幂等性设计我们以对接支付宝充值为例,来分析支付回调接口如何设计?如果我们系统中对接过支付宝充值功能的,我们需要给支付宝提供一个回调接口,支付宝回调信息中会携带(out_trade_no【商户订单号】,trade_no【支付宝交易号】),trade_no在支付宝中是唯一的,out_trade_no在商户系统中是唯一的。回调接口实现有以下实现方式。方式1(普通方式)过程如下:1
2020-08-22 14:38:09 1141
原创 Java四种线程池创建
我看到过有人开启线程池是这样的newThread(newRunnable() {@Overridepublicvoidrun() {}}).start();这样开启线程是没有问题的,但是有弊端a. 每次new Thread新建对象性能差。b. 线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导致死机或oom。c. 缺乏更多功能,如定时执行、定期执行、线程中断。相比new Thread,Java提供的四种线程池的好处在于:a. 重用存在...
2020-08-10 15:09:54 1707 1
原创 Java 生成在线二维码 以Base64返回前端、或者写入到本地磁盘
首先添加版本Maven依赖<dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.0</version> </dependency> <dependency> <groupId>com.google.zxing</groupId> <arti
2020-08-01 13:49:25 2490 2
原创 java 后端防止前端重复提交数据
//自定义一个防止重复提交的注解package com.mingwen.common.SubmitMore;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target
2020-07-17 10:36:21 2098 2
原创 java创建线程的三种方式
/** * 同步孔夫子店内在售商品 * * @param shopNum * @return * @throws java.text.ParseException */ @RequestMapping("/getKFZShopGoods") @ResponseBody public Map<String, Object> getKFZShopGoods(String shopNum) throws java.te...
2020-07-08 16:04:39 1710 1
原创 mybatis里面动态传参${} 和#{}的区别
他们的区别一句话概括:#{name}对数据 加上 双引号,${name}直接显示数据。1、#{name}把传入的参数视为字符串,会预编译,例子:select * from a where name= #{name} 入参name=哈哈其实相当于select * from a where name="哈哈",2、${name} 不会进行预编译,例子:select * from a where name= #{name},入参name=哈哈,其实相当于s...
2020-07-06 17:31:09 2453 1
原创 读取本地图片上次图片服务器
import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import org.springframework.web.multipart.MultipartFile;public static void
2020-06-16 10:48:40 1753 1
转载 Springboot + rabbitMQ实现延迟队列(消费者)
Springboot + rabbitMQ实现延迟队列(消费者)由于太长了,所以分成两篇写,接上一篇讲解了消息的定义和发送,这里继续讲解消费者由于可能每条消息所处理的逻辑可能不一样,例如:常规订单30分钟不支付则取消订单,团购订单一天拼团不成功则取消等等,为了避免在消费者监听类中使用大量if else,这里使用策略模式来处理(由于spring的bean的初始化的时候创建,如果用Java常规的反射获取类,则在具体策略类用注入别的bean的时候,会拿不到值,所以需要通过applicationContex
2020-06-09 16:34:39 301
转载 Springboot + rabbitMQ实现延迟队列(生产者)
Springboot + rabbitMQ实现延迟队列(生产者)前言:在电商系统中,可能有这样一个需求,订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单。如果用常规的定时器定时去查询,这会造成很大的消耗(频繁访问数据库)。这里选择RabbitMQ来实现类似的功能(使用队列的TTL特性)1.这种模式大概流程,我们需要将消息先发送到ttl延迟队列内,当消息到达过期时间后会自动转发到ttl队列内配置的转发Exchange以及RouteKey绑定的队列内完成消息消费。2.添加mave
2020-06-09 16:33:18 153
原创 Java 生成在线二维码 以Base64返回前端
依赖的jar包主要是Google 的zxing 进行二维码的生成<dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.0</version> </dependency> <
2020-06-04 18:03:36 3606
转载 Spring Boot(一):入门篇
构建微服务:Spring boot 入门篇什么是Spring BootSpring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的...
2020-06-02 13:08:36 143
转载 springboot 定时器开启
首先,搭建好一个springboot项目,可使用maven或者gradle或者其他(MD不会啊。。。),这个因为本次的重点在于如何添加定时器,本人会在这几天有时间的时候来写一个如何搭建一个简单的springboot的项目的过程。现在时间有限,所以喽。还请各位多包涵。咳咳。好了 进入主题。方法一:通过springboot自带入口来开启定时器。首先我们都知道,springboot有一个自己的入口,也就是@SpringBootApplication(他是一个组合注解 由@Configuration,@
2020-05-25 15:36:08 439
原创 mybatis 一对多collection结合PageHelper分页
PageHelper分页组件public class PageParam { /** * 当前页数(初始页面不用传) */ private Integer pageNum; /** * 分页显示数目(初始页面不用传) */ private Integer pageSize;}/** * 设置请求分页数据 */ protected void startPage(PageParam page)...
2020-05-15 14:59:16 3500
原创 架构的演变
概述本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。基本概念在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍:•分布式系统中的多个模块在不同服务器上部署,即可称为分布式系统,如 Tomcat 和...
2019-12-04 15:37:49 1681
原创 在linux上安装jdk并配置环境变量的两种方法
、下载jdk文件我这提供的是官方的地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。如果你已经下载好了之后就可以跳过这步将这个文件随便放在linux的什么目录都可以。二、解压jdk压缩包先用cd命令进入你放压缩包的文件夹然后执行下面的解压命令解压命令:...
2019-11-20 12:50:42 2012
原创 mysql的触发器
什么是触发器简单的说,就是一张表发生了某件事(插入、删除、更新操作),然后自动触发了预先编写好的若干条SQL语句的执行;特点及作用特点:触发事件的操作和触发器里的SQL语句是一个事务操作,具有原子性,要么全部执行,要么都不执行;作用:保证数据的完整性,起到约束的作用;需求:有一个课程表 学生可以报名,每报名一次生成一个订单记录,课程的剩余报名数量-1,用程序写很简...
2019-11-19 14:47:18 1663
纯电动汽车数据(品牌+车型+年份).zip
2020-10-26
PDF电子发票解析免费版
2020-04-30
PDF电子发票解析免费版
2019-07-30
圆通面单下单接口demo
2019-07-17
圆通面单下单接口
2019-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人