自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot Jpa集成Elasticsearch7.6.x, 支持高级动态查询

1.环境以及依赖JDK 11.0.8SpringBoot 2.2.7.RELEASEspring-data-elasticsearch 4.0.5.RELEASE 对应 ES版本7.6.2lombok<!--ElasticSearch--><dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-elasticsearch&l

2020-11-12 16:30:08 2112 6

原创 SpringBoot+JPA+ShardingSphere4.x读写分离(包含按月分表)

1.官网的文档真的是太简陋了啊按月份分表的详细文章请戳这里Shardingsphere香还是挺香的,但是文档真的是太少内容了啊.而且对集成SpringBoot太不友好了(▼皿▼)2.分库分表的配置谈一谈我对分库的理解. 分库之后我们都会遵循一个规则就是主库负责写入更新, 从库负责读取.Shardingsphere在配置好主从库之后会自动路由,select的时候直接走从库. 因此最关键的一点就是如何在yml文件中配置主从库.先看配置:spring: shardingsphere: data

2020-11-06 17:00:44 1605 1

原创 SpringBoot+JPA+ShardingSphere4.x单库按月份分表

1.走过的弯路这研究分表的时候,我他喵的是真的体会到了"浩如烟海"是啥意思.要么就是资料太老,要么就很少是按照月份分表的. 中间我走了很多弯路,甚至一度怀疑jap不适合用来进行分表.从我看过的资料来说,没有一个介绍使用Shardingsphere进行分表思路的,这也是我走了很多弯路的原因.先介绍背景: 单个数据库,按照月份进行分表,每个表有月份的后缀,类似于: table_202006.我先说下我的误区, 一开始我以为分表查询只需要配置库级别的分表规则就行了.这种想法是错误的,Shardingsph

2020-06-04 19:56:23 6676 20

原创 Spring Boot中使用Feign设置请求头Header的值

背景使用Feign调用外部接口时,需要在Headers中带一个如下的参数:按照网上的说法,有通过注解@Header的方式; 有在@RequestMapping中设置header属性的方式.; 有通过拦截器实现header值的填充. 亲自尝试过之后,第一种方法不起作用,第二种方法不支持动态参数(发现一篇博客,这篇博客的方案二讲了如何使用动态参数,但没有亲自尝试.). 第三种会拦截所有的请求,...

2020-04-09 17:02:10 5024

原创 Spring Boot使用OpenFeign生成微信小程序码

使用spring boot时想调用微信的接口生成小程序码,传统的做法都是自己发送http请求,然后中间要处理各种情况,非常的麻烦。现在我们可以很容易的在spring boot中集成spring cloud的feign进行远程调用。1.生成微信小程序码的两个步骤如何获取微信小程序码,可以参照官方 微信小程序文档。主要分为两个步骤:1.通过appid和appsecret获取AccessToke...

2019-08-29 19:47:32 1176

原创 Java实现字符串匹配RK(RabinKarp)算法

前言写这篇博客主要是因为在看了相关的RK算法原理之后,发现算法都是用C语言实现的。对于习惯使用Java的我来说有点不习惯。所以这里写了一个Java语言版本的实现。这篇文章不会讲解RK算法的原理,只是Java版本的实现。具体的算法参考了这篇博客 。博客里也详细讲解了RK的原理。/** * 字符串匹配RK算法,BF算法的升级版本 * Created by LinGer on 2019/7/...

2019-07-03 11:48:03 1445 1

原创 写给java后端同学的微信小程序快速入门指南——小程序登录并添加新用户到数据库(一)

说在前面先说下这个系列的定位。我不打算从零开始讲解微信小程序,直接就是搭建一个可以使用的微信小程序框架。主要是想把自己作为一个java后端接触小程序开发之后遇到的一些坑和一些经验分享一下。好让对微信小程序开发感兴趣的后端同学快速上手,以及避免一些弯路。我在刚刚开始开发小程序找资料的时候,发现资料都是比较分散的。比如想实现登录并和后端进行交互,那只能找到小程序登录并与后端交互。没有整个的一个系列...

2019-05-13 16:33:52 2025 1

原创 LeetCode-环形链表(java实现)

题目如下​​​​本篇文章讨论的都是单链表环形链表就是循环链表的意思。即链表的尾节点不是null,而是重新指向链表的其他节点。判断一个单链表是否是循环链表,可以采用快慢指针,追击相遇的方式来实现。算法的原理可以形象的比喻成“龟兔赛跑”。兔子的速度是乌龟的两倍,它们在一个环形的跑道上面赛跑。经过一段时间之后,兔子必定会超过乌龟一圈,然后相遇。我们循环一个单链表,如果这个单链表是循环链表,快指...

2019-05-10 11:07:20 2395

原创 LeetCode-最大子序和(java实现)以及分治法理解

题目如下:    题目中已经给了提示,完美的解法需要使用分治法求解。本题的分治法代码实现非诚简单,但是理解起来会有点困难,先看一下这两篇博客的解释,再看代码    分治法理解:https://blog.csdn.net/linhuanmars/article/details/21314059    分治法理解:https://blog.csdn.net/Pwiling/articl...

2018-09-20 16:49:17 2795 3

原创 LeetCode-报数(java实现)

题目如下:    当时看到这个题目,第一个想法就是使用递归,思考良久还是没有思路。然后网上看了好几个实现,最后都要带上一句这题很简单,算法萌新瑟瑟发抖......    ok,言归正传。先上代码public String countAndSay(int n) { if(n == 1){ return "1"; } ...

2018-09-19 18:57:23 3169 1

原创 LeetCode-合并两个有序链表(java实现)

    题目如下     看完题目之后,思考的结果是用递归做应该是最佳的选择。但无奈水平真的有限,没有想出来如何用设计递归。提交的时候就没有用递归实现,运行结果可想而知:23ms。看了第一名的用时是5ms,而且代码简洁优美,不得不佩服/***Definition for singly-linked list*/class ListNode{ int val; L...

2018-08-03 11:19:21 23448 11

原创 LeetCode-有效的括号(java实现)

题目如下:     刚看到这题的时候,还是非常简单的想暴力解决。暴露了眼界还是太狭隘。刚开始的想法是只要判断出"(){}[]"、"({[]})"、"()"...等这样为true的情况应该就能解决问题了。但是想法太简单 ,运行的结果不是忘了判断这种情况就是忘了判断那种情况,最后运算还超时了。    后来在网上找了一下代码,运行时间为14ms。这段代码运用了栈stack,这是以前的知识盲区...

2018-08-02 11:31:45 5269 2

原创 LeetCode-最长公共前缀(java实现)

    题目如图,     最开始我的想法是利用双重for循环,对于相邻字符串的每个字符进行比较。例如"flower"和"flow",最长公共前缀就是'flo',利用一个计数器保存公共前缀的长度3;然后比较"flow"和"flight"的最长公共前缀,长度为2,也用计数器保存。最后在这个计数器数组中找到最小值,就是整个String数组中所有元素的最长公共前缀的长度。代码如下publi...

2018-08-01 11:03:04 5348 5

原创 SSM+BootStrap+BootStrap Table web项目全记录

最近做了一个前端+后端整合的项目,被前端虐的好惨。并且是第一次使用BootStrap table遇到了好多问题。这里记录一下,以便以后查看。    篇幅限制,SSM的配置就不贴了。主要记录一下BootStrap table的使用以及与之相关的前后端的交互。    本项目的流程是登录成功之后,跳转index.jsp,代码如下。里面的Model()方法是自定义的js函数,与主体关系不大,故把文...

2018-07-19 16:46:43 6241 2

原创 使用Lombok编译时无法找到get/set方法

    使用IDEA创建一个java基础项目时,我引入了lombok插件。随后在一个实体类中使用@Data注解,在Structure界面可以看到已经生成了getter和setter方法    但是在编译的时候,IDEA报错,说找不到set方法。这里我们需要设置一下:再次编译,OK,通过。方案参考:https://segmentfault.com/q/1010000004520057/a-10200...

2018-05-21 16:11:30 27151 2

原创 MongoDB更新操作replaceOne()

    最近正在学习MongoDB,作为数据库的学习当然是要从CRUD开始学起了。这篇文章默认读者是知道如何安装MongoDB、如何运行MongoDB实例以及了解了MongoDB中的collection、document等相关的概念。    网上对于MongoDB的增删改查操作的文章不少。但是不少都是旧版本的操作操作说明。MongoDB在3.2版本之后,增删改查的命令发生了一些变化。有写变化网上可...

2018-04-18 22:28:59 12011

原创 Scala系列6、scala的高阶函数

1.=&gt; 表示对左边的参数进行右边的加工2.关于对scala函数中的参数可以传函数的理解(带函数参数的函数):    eg: def value(f: (Double) =&gt; Double) = f(0.25)                   //(参数类型) =&gt; 结果类型    可以按照一般的参数去理解:这个带函数参数的函数,要求我们传入的参数是一个函数。例如我们传入sc...

2018-04-04 16:35:08 705

原创 Scala系列5、Scala中的函数

1、方法中的return是可以缺省的,scala会将函数的最后一句作为返回值;   方法还可以缺省返回值类型,scala会自动进行类型推断,但是如果是递归函数就必须指定返回这类型。但是最好还是不要省略返回值类型2、scala中的参数和Java中的参数不太一样。Java参数有形参和实参的区别,但在scala中有时形参和实参是一致的。参看【scala指定函数参数名】3、=&gt;左侧表示输入,右侧表示...

2018-03-07 00:31:26 2847

原创 Scala系列4、Scala中的控制结构

1、Scala中的集合是这样写的:List(1,2,3,4)  //建立一个int型的集合2、&lt;- 被称为生成器(generator),在for循环的例子的执行过程中,集合numbList中的元素将依次赋值给a3、理解yield【条件表达式】    1、if...else...,scala中的if/else和java或C++中的一样。不过scala中的if/else是有值的,这个值就是跟在i...

2018-03-05 20:40:43 226

原创 Scala系列3、Scala中的下划线_用法举例

    在学习Scala的时候比较头疼的问题就是下划线的用法,有点多也有点杂乱,遂想整理一下。以下都是下划线的用法,初学Scala肯定还有没有见到的用法,还请看到的大神能够不吝赐教。    1、_*,告诉编译器把参数当做参数序列处理。这个是用在变长参数传参的时候。当我们想给变长参数传入一个序列,有时是不被允许的,因为函数限制了传入的参数必须是单个参数,这时我们就可以使用_*了def main(ar...

2018-03-04 21:12:06 2701

原创 Scala系列2、使用Intellij IDEA编写hello world

    如果想使用Intellij IDEA开发Scala,需要下载相对应的插件。具体步骤在本教程不做解释。    【新建一个Scala项目】    File-&gt;New-&gt;Project  选择Scala-&gt;IDEA    点击next进入下一步,配置好之后点击Finish等待项目创建完成。    创建成功的工程目录结构如下(jdk版本和scala版本都正确显示)    【编写h...

2018-03-04 21:07:00 1841 1

原创 Scala系列1、Scala安装和配置

    Scala首先是需要Java环境的,至于Java环境的安装配置这里不再赘述。直接从Scala的SDK安装开始说起。    【安装Scala的SDK】    1.从官网下载与当前电脑上Java版本配置的sdk:http://www.scala-lang.org/download/这里我选择安装的Scala版本是2.12.3,官网上会给出相应的提示    Windows系统上的安装文件是.ms...

2018-03-04 21:03:51 257

原创 RedisDesktopManager远程连接失败的解决办法

Redis一般跑在Linux系统上,所以在安装完Redis之后,在windows上我使用了RedisDesktopManager远程连接Linux的Redis。 以下的Linux命令都是在Redis安装目录下进行的首先我在Linux系统上启动Redis服务src/redis-server   然后我再windows上开始尝试远程连接Redis 点击“Test Co...

2017-10-31 17:05:18 14898 3

转载 Tomcat中server.xml配置

Tomcat Server的结构图如下:该文件描述了如何启动Tomcat Server

2017-07-15 09:44:51 425

原创 MySQL数据库事务实例(模拟银行转账)

在数据库系列文章中[MySQL数据库事务基本操作](http://blog.csdn.net/fengpojian/article/details/73571983)介绍了MySQL数据库基本的事务操作。这篇文章将介绍一个实例来更好的理解学习MySQL数据库事务。这个Demo主要是模拟银行转账的过程,两个账户发生转账关系时,首先改变双方账户的余额状态,随后验证转出方账户是否有足够的余额来支撑此次

2017-06-22 13:46:52 10964 1

原创 MySQL数据库事务基本操作

这篇日志是自己学习了MySQL数据库的事务之后,总结的一点心得体会。都是一些非常基础的知识点。如能帮助诸位初学者,那真是我的荣幸。数据库的事务,很多的博客也都有了详细的介绍。最基本的事务特性啊(ACID)这里就不再赘述。首先,如果想要开启MySQL数据库的事务,需要我们手动设置。**1、开启数据库的事务**我们在Navicat中,新建一个查询,输入:`start transaction;`**

2017-06-22 13:33:23 6806

原创 Eclipse的server选项卡中找不到tomcat配置项

在Eclipse中,server选项卡中找不到tomcat配置项

2017-04-14 13:24:02 15484

原创 构造函数与this

class Person{ private int age; String name; Person() //Person类的构造函数 { age = 0; name = "baby"; System.out.println(name+ " " +age); } Person(String name,

2016-10-21 21:59:34 553

空空如也

空空如也

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

TA关注的人

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