自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 redis实现排行榜(日榜,周榜,月榜)

redis排榜功能的实现

2022-06-13 10:43:03 9973 2

原创 查询数据库中的所有数据,同步到elasticsearch中的实现

环境:查询数据库为一个微服务,同步到es中为另一个微服务,同步微服务调用查询微服务进行数据的同步思路:①每次从第一条数据开始查询,每次查询500条数据返回,进行同步②当查询的结果为0时,返回null③当查询结果数小于500时,代表数据库已经查询完毕查询微服务的mapper接口方法 /** * 查询大于当前id的500个数据,且为上架状态 同步到es中 * @param skuId * @return */ @Select("select * fro

2020-10-16 19:55:22 880 2

原创 多个微服务依赖公共模块的公共异常处理类无法生效

首先公共异常处理类中的各个注解需要被识别才能够生效需要在使用该处理异常类的启动器类中的SpringBootApplication 添加对该异常类所在包的扫描注意:平常SpirngBootApplication不进行属性配置,默认扫描启动类所在的包,所以在配置了扫描其他包的时候,也要配置自身启动类所在的包,还有该服务需要依赖公共模块...

2020-10-13 16:07:17 1121

原创 使用RabbitAdmin的方式创建交换机队列,并声明绑定关系

//声明RabbitAdmin用户创建交换机,队列及绑定关系 RabbitAdmin rabbitAdmin = new RabbitAdmin(rabbitTemplate); //创建交换机,并用rabbitAdmin进行声明 DirectExchange directExchange = new DirectExchange("author-subscribe"); rabbitAdmin.declareExchange(directE.

2020-09-24 11:20:09 2579

原创 自定义代码实现简单红黑树

public class RedBlackTree<Key extends Comparable<Key>,Value> { //树的根结点 private Node root; //树中存储元素的个数 private int N; //红色连接 private static final boolean RED=true; //黑色连接 private static final boolean BLACK=fal

2020-09-09 17:31:59 136 1

原创 自定义代码使用最小堆实现索引优先队列

public class IndexMinPriorityQueue<T extends Comparable<T>> { //存储元素的数组 private T[] items; //存储数组items中的索引作为元素,此数组需要实现最小堆有序 private int pq[]; //此数组为pq数组的逆序 pq数组的索引作为该数组的值,pq数组的值作为该数组的索引 private int[] qp; //记录数组 堆

2020-09-07 16:38:22 117

原创 自定义代码实现最大优先队列与最小优先队列

最大优先队列实际上就使基于最大堆实现的,取出元素时取出堆中最大的元素即可,并非先进先出public class MaxPriorityQueue<T extends Comparable<T>> { //存储元素的数组 private T[] items; //记录堆中元素的个数 private int N; //优先队列构造方法 public MaxPriorityQueue(int capacity){ th

2020-09-07 16:37:15 121

原创 自定义代码实现简单堆

此简单堆为最大堆,根结点元素最大,每个父结点都大于或等于其左右子结点简单堆功能获取堆中存储元素的个数 length()交换堆中索引i与j处的值往堆中插入新的元素public class Heap<T extends Comparable<T>> { //存储堆中的元素数组 private T[] items; //记录堆中元素的个数 private int N; //构造方法 public Heap(int capac

2020-09-07 16:33:55 122

原创 自定义代码实现简单二叉查找树

类的定义public class BinaryTree<Key extends Comparable<Key>,Value> { //记录根结点 private Node root; //记录当前树存储的元素个数 private int N; //内部结点类 //定义内部的结点类Node private class Node{ //Node中存储的键值对数据的键 public Key key;

2020-09-05 17:47:01 158

原创 自定义代码以链表实现简单无序符号表与有序符号表

简单符号表功能获取符号表中存储的键值对数据个数 size()往符号表中插入键值对数据 put()删除符号表指定key对应的结点并返回该结点存储的值 delete()获取符号表中指定key对应的value并返回 get()无序符号表public class SymbolTable<Key,Value> { //记录首结点 private Node head; //记录当前符号表存储的键值对数据个数 private int N; //定义

2020-09-05 17:32:48 174

原创 自定义代码以链表实现简单栈数据结构

简单栈功能判断栈中元素是否为空isEmpty()获取栈中存储元素个数 size()将指定元素存入栈中 push()获取栈中的一个元素,先进后出 获取的为栈顶的元素 pop()栈的遍历public class Stack<T> implements Iterable<T> { private class Node<T>{ //当前结点指向的下一个结点对象 private Node next; //当

2020-09-05 17:26:45 158

原创 自定义代码以链表实现简单队列数据结构

简单队列功能:获取队列中存储元素的个数size()判断队列是否为空isEmpty()将指定元素存入队列 enqueue()从队列中获取一个元素,先进先出获取的为最先存入的数据 dequeue()队列元素的遍历public class Queue<T> implements Iterable<T> { //自定义内部结点类 private class Node<T>{ //当前结点指向的下一个结点对象 pri

2020-09-05 17:23:16 124

原创 SpringCloud使用Feign调用服务出现超时错误

错误类型java.net.SocketTimeoutException: Read timed out 读取超时了问题原因使用feign调用服务时,feign有内置的ribbon,并且内置的ribbon有默认设置了数据通信时长为2s,在2s内没有获取的数据响应就是出现该异常,本人在服务端是有设置了线程休眠时间为2s所以造成了此异常发生解决方法修改feign内置ribbon的默认数据通信超时时长ribbon: ReadTimeout: 6000注意:手动输入IDEA可能没有相关的提示其

2020-08-28 11:41:36 1853

原创 spring-cloud 消费方与服务提供方数据获取问题

遇到的问题想要保存用户信息,在消费端将用户信息传递给服务端时,存入的数据全部都为null消费端代码 @RequestMapping("/save") public String saveUser(){ User user=new User(); user.setId(20L); user.setUserName("abc"); user.setAge(18); user.setName("c");

2020-08-26 20:26:59 303

原创 RabbitMQ确保成功发送数据的Confirm模式与Return模式

一.Confirm模式确保消息能够从生产者发送到交换机 ,无论消息发送是否成功都执行一个回调方法开发步骤1.设置配置文件中ConnectionFactory的publisher-confirm属性为true,以开启Confirm模式 <rabbit:connection-factory id="connectionFactory" host="${rabbitmq.host}"

2020-08-23 17:20:42 2133 2

原创 RabbitMQ几种工作模式的发送与消费数据

一.简单模式特点:无交换机转发数据(使用默认交换机名""),生产者直接将数据发送至队列,单个消费者消费指定队列的消息。开发步骤1.创建连接MQ的连接工厂对象ConnectionFactory connectionFactory = new ConnectionFactory();2.设置部分连接参数 connectionFactory.setHost("localhost"); //设置rabbitmq所在的ip地址 默认值为localhost connectionFacto

2020-08-22 18:00:09 916

原创 Maven项目多模块开发遇到的问题

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘itemController1’: Unsatisfied dependency expressed through field ‘itemService’;各模块直接的项目依赖确定没有问题,但是没有办法创建itemController1的bean对象,在往下翻发现造成原因是 itemService创建有问题Ca

2020-08-12 21:52:50 668 2

原创 MyBatis中配置分页助手PageHelper,查询后无法在控制台输出查询到数据的问题

原文连接:原文详细解释问题现象:在调用PageHelper设置分页查询相关数据时,能查询到实际数据但是无法在控制台进行输出只输出分页相关的信息,并没有输出查询到的信息,但实际上使用查询到数据原因:最终在论坛搜索了一番,发现是PageHelper版本的问题,更换成5.1.4版本就可以正常输出,查询到的数据了注意点更换到高版本的PageHelper后,mybatis的核心配置文件的Plugins标签中的内容需要进行修改,原先的全限定名后的PageHelper要更改为PageInterceptor,并且

2020-08-10 10:13:38 739

原创 MyBatis模糊查询

<select id="getUserByUsername" resultType="domain.User" parameterType="domian.User"> select * from user where username like "%"#{username}"%" </select>resultType:表示将查询的结果封装为user对象, parameterType:表示参数类型,此模糊查询中占位符#{username}的值是参数user对象中的usern

2020-08-08 17:02:25 191

原创 Maven项目中使用Spring的监听器ContextLoaderListener问题

本文借鉴:https://blog.csdn.net/mohaiyong/article/details/84296450?biz_id=102&utm_term=maven%E9%A1%B9%E7%9B%AE%E4%B8%AD%E5%9C%A8web.xml%E6%96%87%E4%BB%B6%E4%B8%AD%E9%85%8D%E7%BD%AE%E4%BA%86ContextL&utm_medium=distribute.pc_search_result.none-task-blog-

2020-08-03 12:29:39 1978

原创 Spring引入外部配置Properties文件${username}问题

通过Spring加载数据库连接池properties配置文件时,使用spel表达式${username}获取配置文件中username的值,结果一直报错明明配置文件中的用户名是root,但是实际获取到的是电脑的用户名,后来查询得知${username}默认是从系统环境中读取了电脑的用户作为了mysql的用户名, 最后将配置文件的中的username键值修改一下不要是username即可用配置文件中的用户名成功与mysql进行连接...

2020-07-31 12:25:42 783 2

原创 Maven项目中利用tomcat以及连接数据库的问题

tomcat部分(版本问题)maven集成的插件是tomcat6版本的,而本人的jdk版本为14.0.1,并不支持版本较低的tomcat,导致使用tomcat:run命令时导致出错解决方案:在maven项目的pom.xml配置文件中,新增一个高版本的tomcat插件,此时的maven版本内置的tomcat6依然存在,且使用端口号为8080,所以可以将新增的此插件端口号进行修改防止冲突。<plugin> <groupId>org.apache.tomcat.maven<

2020-07-23 16:39:26 516

原创 部署用户名,密码,验证码项目的改进点

将错误提示信息存入到request域中共享,而不是存入cookie中在做一个验证验证码,及用户名是否正确的小项目时,要求将错误信息展示在登录界面,当时以为页面会跳转就把错误信息存入到了cookie当中,并交由登录界面jsp进行输出显示。后来知道页面不会跳转,那么就相当于在一次请求范围内,用request域进行数据共享即可 if (rightcode==null||!(checkcode.equalsIgnoreCase(rightcode))) { //设置request域中共

2020-07-13 20:31:42 138

原创 Servlet中存储request域的共享数据

域对象一个有作用范围的对象,可在对象范围内共享数据request域:代表一次请求的范围,一般用于请求转发多个servlet共享同一个数据注意点:一定要在转发之前设置该request的共享数据。 //转发至successServlet req.getRequestDispatcher("/success").forward(req,resp); //并设置输入的用户名作为request域共享数据设置在转发之后,转发至successservlet

2020-07-11 11:25:22 857

原创 Tomcat上部署用户登录验证小测试

要求:对客户端浏览器用户输入的用户名及密码进行获取与数据库中的用户名数据进行匹配,匹配成功跳转至SuccessServlet,失败跳转至FailServlet密码正确在控制台打印输出 登录成功,当用户名不存在或者密码错误提示登录失败涉及方面:tomcat,druid数据库连接池,DBUtils一、创建druid相关的工具类,对配置文件的读取、连接对象获取、资源关闭做了简单的封装//创建Druid数据库连接池工具类public class DruidUtils2 { static DataS

2020-07-11 00:46:06 729

原创 Mysql中查询一个没有内容的自动返回结果为null

SELECT employee_id FROM employees WHERE employee_id=10086执行上述查询返回一个没有内容的空表SELECT (SELECT employee_id FROM employees WHERE employee_id=10086) AS 查询结果查询上述结果表,,查询结果会显示为(null)...

2020-07-09 21:42:06 4852

原创 多态形式创建对象时访问同名成员变量,同名成员方法的特点

访问同名成员变量及成员方法当父类对象或接口类对象时根据多态形式创建时//创建一个动物类public abstract class Animal { public int a=4; public abstract void eat(); public abstract void feet(); public void method(){ System.out.println("特有方法Animal"); }}//创建一个Cat类继承Anima

2020-07-07 21:49:49 376

原创 javascript从input的获取用户输入值的注意点

错误操作当获取用户输入值位于事件发生之前,即页面刚加载完毕时就获取了文本框中的数据此时数据时空的,后续用此做操作会出现错误 //获取用户输入的用户名 var un = document.getElementById("username").value; //定义检验用户名函数 function checkusername() { //获取用户输入的值 var flag1 =reg_username.test(un);

2020-07-06 23:51:57 2301

原创 JavaScript中函数调用带括号与不带括号的区别

问题发现原因在测试单击绑定事件中,发现打开页面没有单击就自动执行了js代码,且后续无论怎么单击都不会再次执行函数化,代码如下 <body><img src="img/on.gif" onclick=alert("被单击了");><img src="img/on.gif" id="p"><script> //通过标签对象绑定事件,并指定事件的属性值 var a = document.getElementById("p"); fu

2020-07-05 20:18:52 354

原创 MySQL中分组函数对于null值的处理

sum()函数对于null值的处理sum(字段):对字段内容进行求和会自动忽略null值不会报错SELECT SUM(balance) FROM account;sum(balance)对balance字段求和 忽略null值 结果为20000avg()函数对于null值的处理avg(字段):对字段内容进行求和会自动忽略null值不会报错SELECT AVG(balance) AS 结果 FROM account;avg(balance)对字段进行求平均值会自动忽略null值不会报

2020-07-04 19:58:57 2719 1

原创 JavaScript中数据类型的转换

JavaScript中的数据类型原始数据类型number:数字 整数/小数/NaN(not a number 不是数字的数字)String:字符串 可用双引号或者单引号表示都可以 “abc”, 'a’都为字符串boolean: true ,falsenull:一个对象为空的占位符undefined:未定义,若声明一个变量没有进行赋值,那么该值无论是什么类型默认值就为undefined原始数据类型的转换转换为number类型一、String 类型转为number类型当String类

2020-07-04 19:26:22 120

原创 MySQL中trim函数,lpad函数,rpad函数的使用注意情况

trim函数一、trim(参数):去除参数中的前后空格select trim(' 张 翠山 ');结果为张 翠山,trinm函数只会除去参数的前后空格参数内部本身的空格不会被删除二、trim(String str1 from String str2):去除str2中前后出现的str1select trim('a' from 'aaa张aa无忌aaa');结果为张aa无忌,删除前后出现的a若语句为select trim('aa' from 'aaa张aa无忌aaa');

2020-07-03 21:27:05 686

原创 MySQL中排序查询

排序查询语法:select salary from employees where id<100order by salary asc查询员工表中id<100的salary,并按salary进行升序。其中asc可省略 默认为升序,desc为降序按照多个要求进行排序各个要求之间用,隔开即可select * from employees where id<100order by salary ,age desc;查询员工表中id<100的所有员工信息,先salary

2020-07-03 21:00:27 128

原创 MySQL模糊查询条件含有特殊字符如何进行查询

常规模糊查询select * from Student where name like '%心%'查找学生表中name中包含 心 字的所有信息包含特殊符号的模糊查询select * from Student where email like '%\_%'查询学生表中 邮箱包含下划线_的所有信息,其中下划线_属于在模糊查询中属于特殊字符需要用转义字符来进行标识’_'表示要查询下划线下划线在模糊查询中的意义: 表示任意单个字符select * from Student where name l

2020-07-03 20:49:31 2381 1

原创 sql语句中+号做运算结果为null

在sql中+作为一个运算符的作用若操作数都为数值型,那么则做正常的加法运算select 90+100 结果;若操作数中存在字符型,那么会将字符型转换为数值型再进行运算。若该字符型本身就是数值类型的字符型,比如‘123’,‘2’ 转换成功后就会以123,2数值进行加法运算。 若非数值的字符型,则只会转为数值0参与运算若操作数中存在null,那么结果只会为null。例如字段中存在null值,那么以该字段进行运算时要利用ifnull方法进行处理select ifnull(user,0)

2020-07-03 14:06:43 1090

原创 数据库的基础查询

基础查询语法select 要查询的东西 from 表名;注意1.查询的东西:字段,常量值,表达式,函数2.查询的结果为一个虚拟表格3.查询表中多个字段,各个字段用,隔开,若多个字段来自多张表那么from后的表之间也用,隔开4.select * from 表 可查询表中的所有字段为查询字段起别名select 查询内容 (AS) 别名注意点: 若别名中含有空格或关键字,此时别名需要用双引号包裹,才不会出错...

2020-07-03 13:54:24 301

原创 MySQL自学整理1

数据库特点先将数据放入表中,表再放到库中(库中可存放多张表)数据库的每张表都有表名标识自己,表名具有唯一性表具有一些特性,定义了数据在表中如何存储表由列(也称为字段)组成,每个字段类似于JAVA中类的属性表中数据按行存储,每行包含该表的所有字段在该行的内容,类似于JAVA中的对象CMD登录Mysql命令MySQL常见几个命令查看当前所有数据库 show databases;打开指定的数据库:use+数据库名查看当前数据库的所有表:show tables;查看表结构:desc+表

2020-07-03 13:37:57 92

原创 JAVA自学整理9多线程 不完整

进程相关概念是正在运行的程序是系统进行资源分配和调用的独立单位每个进程都游它自己的内存空间和系统资源线程相关概念是进程中的单个顺序控制流,是一条执行路径单线程:一个进程中只有一条执行路径,称为单线程程序多线程:一个进程中有多条执行路径,称为多线程程序JAVA中的线程调度模型抢占式调度模型:各个线程抢占cpu时间片,抢到时间片线程才可正常运行。优先级高的抢到时间片的概率大多线程的实现方式一(继承Thread类)自定义一个类继承Thread类在类中重写Thread类中的ru

2020-07-03 11:58:30 227

原创 JAVA自学整理5

Calendar类声明:Calendar类为抽象类,不能够直接创建对象创建对象方法:利用类中的静态getInstance()方法,返回一个Calendar值,间接的创建对象。返回值内容为基于当前时间的日历格式:Calendar 变量名=Calendar.getInstance(); 例: Calendar c=Calendar.getInstance();//多态写法Calendar常用方法1.pulic int get(int field):返回给定日历字段的值 例:Calendar

2020-07-03 08:48:49 86

原创 JAVA自学整理7

TreeSet集合概述和特点特点1.元素有序,并非迭代顺序有序,而是元素按照一定的规则进行排序,具体顺序取决去TreeSet集合的构造方法无参构造 TreeSet<E> set=new TreeSet<>()默认排序方式为Comparable接口进行的自然排序若泛型E为自定义类型,那么该自定义类型需要 implement Comparable<自定义类名称>,并重写compareTo()方法在方法中规定自定义类中哪些作为主要排序依据,哪些作为次要

2020-07-03 08:48:23 69

空空如也

空空如也

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

TA关注的人

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