自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(200)
  • 问答 (2)
  • 收藏
  • 关注

原创 springboot----数据层技术的选择+各种整合(缓存,消息队列)+定时任务+发邮件

本笔记包含以下内容:springboot内置的数据源和配置、jdbcTemplate、内置的H2数据库。springboot整合redis,redis基本使用,切换springboot操作redis客户端的实现技术(jedis或lettuce),MongoDB安装和初始化,安装可视化工具Robo 3T,整合MongoDB。springboot整合redis,Ehcache,memcached。springboot定时任务、发邮件。ActiveMQ、RabbitMQ安装和基本使用和与springboot整合。

2022-04-13 17:24:29 3598 4

原创 前一段时间学习的springboot+vue的一个小案例

鉴于之前跟着视频做了一个前后端分离的小案例,这里总结一下做做笔记所用到的一些技术:mybatis-plus+springboot+element ui+axios

2022-03-03 20:57:22 2022 4

原创 MyBatis----核心配置文件的深入

对MyBatis的一点探讨,包含typeHandlers标签和对应的例子。还有一个plugins标签,其中有个分页插件,分页插件,可以轻松获得分页相关的数据

2021-06-16 20:02:16 579 5

原创 通过Java监听MySQL数据的变化

java通过bin-log监控mysql数据变化,通过Java监听MySQL数据的变化。对于数据的变化,如果想要前端实时更新,可以使用这个,再配合WebSocket就可以实现前端实时更新数据库数据。

2022-10-24 19:02:30 15118 18

原创 在linux上部署一个web项目的小经验

在linux上部署一个web项目的小经验,集合了在linux的一些知识点,包括用户授权,设置静态IP,防火墙的相关操作,在linux上手动或自动部署项目,包括在linux上安装MySQL、Git、Maven并进行相关的设置和操作。还有Linux上MySQL的一点知识......

2022-07-18 23:28:08 4962 1

原创 springboot----项目测试(部分)

加载测试环境中专用的属性或Bean(Bean可为配置类),加载测试专用属性,加载测试专用bean,测试阶段中web环境的测试,测试阶段启动web环境,不使用postman在test环境中测试web请求,测试响应数据的正确性

2022-03-10 19:53:21 946

原创 springboot----bean属性注入绑定+时间和数据大小的计量单位+Bean属性校验+一个小tip

目录第三方bean属性绑定另一种方式松散绑定常用计量单位Bean属性校验什么是规范Bean属性校验步骤注意点一个小tip第三方bean属性绑定spring中的我们自定义的bean的属性可以通过yml配置文件中的值来注入同时,第三方的Bean我们也可以通过yml配置文件中的值来注入操作如下:另一种方式对于为Bean注入属性,还有另外一种方式用@EnableConfigurationProperties()注解@EnableConfigurationProperties注解的作用:使使用 @C

2022-03-07 20:31:35 761

原创 springboot----热部署

热部署概述步骤热部署范围热部署功能的关闭和配置优先级的问题概述我们在软件开发阶段,当服务器已启动,此时若项目内容发生变更,普通时候,我们需要重启服务器才是使这些变更生效,为了无序重启服务器就能加载变更的内容,可以使用热部署当服务器重新启动,则会进行这两部分的加载重启(Restart) :自定义开发代码,包含类、页面、配置文件等,加载位置是restart类加载器重载(ReLoad) : jar包, 加载位置是base类加载器而这里的热部署只进行第一部分,所以更快一点,更方便步骤导入开发者

2022-03-06 16:16:18 619

原创 Springboot----多环境开发

目录概述多环境设置使用多环境分组管理Maven和spring-boot的配置冲突概述Springboot在不同的阶段运行,所使用的环境可能不一样比如在开发阶段、测试阶段、生产阶段,应用阶段可能这些阶段Springboot项目运行的环境都不同,所以可以提前设置多种环境,根据场景的不同进行选择使用多环境设置使用方法1:在yml配置文件中提前写好多种配置,然后选择调用哪个方法2:这个方法也适用于后缀名为prperties的配置文件每种环境设置一个配置文件,然后再写一个主配置文件,在主配置文

2022-03-05 18:32:28 2522 1

原创 如何在GitHub上找到想要的项目?

在github上,我们一般是通过一个项目所使用的的语言,项目描述,项目名称,项目简介,最后的更新时间,收藏数,等这些内容来寻找所需的项目的。这里我们可以通过一定的来限制搜索条件来进行筛选,找出所需的项目内容。

2022-03-02 18:15:21 15336 6

原创 数据结构与算法分析----中序线索化二叉树+中序遍历

目录概述线索化二叉树的实现中序遍历构建中序线索化二叉树的遍历概述百度百科:在二叉树的结点上加上线索的二叉树称为线索二叉树,对二叉树以某种遍历方式(如先序、中序、后序或层次等)进行遍历,使其变为线索二叉树的过程称为对二叉树进行线索化。原二叉树的某些结点的左指针或右指针或左右指针是空的,浪费资源,我们可以让这些指针指向其他的一些结点,方便遍历和查找我们用某一种方式(前中后序)遍历二叉树,在某个结点前面打印的称为此结点的前驱结点,在这个结点后面打印的称为后继结点。我们线索化二叉树要做的就是让结点的空指

2021-11-23 10:43:35 3122 1

原创 数据结构与算法分析----二叉树+前序+中序+后序遍历

目录二叉树概述遍历先创建一个二叉树前序遍历中序遍历后续遍历代码二叉树概述知道单链表吧,单链表每个节点只能由一个后继节点。一个链表,假设他每个节点都可以有不多于两个的后继节点,那么他就可以被称为二叉树,此时,这个二叉树中的节点被称为结点,二叉树的后继结点又被称为子结点,且有着左右之分,一个结点的左边的子结点为左子结点,右边的为右子结点。如:源自百度百科这里的每个字母都代表着一个结点二叉树不一定要由链表实现,他是一种数据结构,是一种结构,只要有着这种结构的都可以称为二叉树百度百科:二叉树(Bin

2021-11-21 17:33:17 251 1

原创 数据结构与算法分析----斐波那契查找算法+二分查找算法+差值查找算法

文章目录二分查找和差值查找概述实现斐波那契查找概述二分查找和差值查找二分查找和差值查找法基本一样,仅在一处代码不同,合并到一起描述下面先讲二分查找概述二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。百度百科: 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字

2021-11-11 17:41:47 758 1

原创 数据结构与算法分析----八大排序(暂时缺少堆排序)

目录概述概述排序分为内部排序和外部排序:八大排序都属于内部排序八大常用排序:

2021-11-02 14:32:17 289 1

原创 数据结构与算法分析----哈希表

目录概述概述哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。来自百度百科...

2021-11-01 19:17:39 676 1

原创 数据结构与算法分析----递归回溯之迷宫和八皇后

目录递归概述借一个阶乘的例子来理解递归实现找到迷宫出口实现递归概述百度百科:程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当

2021-09-30 15:48:59 436 2

原创 数据结构与算法分析----栈+中缀、后缀表达式(逆波兰表达式)+中后缀对应计算器的实现

文章目录栈概述用数组作为底层实现一个栈栈概述百度百科:栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。简单来说:就是一种先入后出的存储数据的容器。想象一下乌鸦喝水,瓶子就是栈,乌鸦投入的石子就是元素,投入的第一个石子直接到栈底,然

2021-09-09 11:09:38 451 1

原创 数据结构与算法分析----环形链表之约瑟夫问题的解决

文章目录环形链表概述环形链表的简单实现约瑟夫问题的解决测试环形链表概述循环链表是另一种形式的链式存储结构。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。环形链表的简单实现节点的设计:和普通的单链表一样链表的功能实现类:这里仅简单的实现一个环形链表,add方法接受一个整形的参数,用于设置链表有几个节点,用for循环,依次创建节点,节点名称固定,标号按照从1到整形参数k来设置在每次创建新节点后,将其加入链表,如果链表中没有数据,则,将第一个节点设置为第一个结点,即first

2021-09-02 10:18:12 344 1

原创 MySQL----查询(Select)

left join就是显示左边的所有数据,及右边显示的是和左边有交集部分的数据,inner join只显示有交集的行至于right与left可以看作是以谁为主where条件:在生成临时表基础上,再加条件限制。

2021-08-07 16:22:00 929 1

原创 (基于Java)数据结构与算法分析----单链表+双向链表

单链表概述插入节点(创建)修改删除打印链表测试所有代码注意事项概述百度百科:单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。简单来说,链表就是,把一个一个的数据集给串起来,然后形成的串串。数据集在链表中就称为节点Java中的链表和C语言的比较类似,不过这里我们不需要使用指针节点:链表是由节点组成的,一个

2021-07-28 17:25:17 324 2

原创 MySQL----增删改

插入记录insert into `test01`(`id`,`name`,`id2`) values(1,'牛蛙',1);INSERT into `test01`(`name`,`id2`) values('牛蛙2号',2); #我们的id为自增的,一般我们不指定自增字段的值,靠系统自动为其添加-- 格式:insert into `表名`(字段名) values(准备存放的字段对应的数据)。insert into `test01` values(3,'牛蛙3号',3); #或者直接不写字段名。

2021-07-22 16:57:08 102 3

原创 数据结构与算法分析----队列

文章目录概述单次性的顺序队列总代码:循环队列全部代码概述百度百科:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称

2021-07-18 18:08:20 542 2

原创 MySQL----入门级的一些注意事项

创建一个数据库一般选择下面的字符集和排序规则

2021-07-14 15:16:02 119 1

原创 数据结构与算法分析----稀疏数组

文章目录概述什么是稀疏数组应用场景一个简单例子的实现创建稀疏数组根据稀疏数组把二维数组还原全部代码:概述什么是稀疏数组在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵;与之相反,若非0元素数目占大多数时,则称该矩阵为稠密矩阵。定义非零元素的总数比上矩阵所有元素的总数为矩阵的稠密度。应用场景用于对某一二维数组(矩阵)进行压缩。如,这样一个二维数组:十一行十一列,仅有两个有效数值,其他均为零,此时我们便可使用稀疏数组对其进行压缩。即,首先得

2021-07-07 17:41:51 133 1

原创 文件夹形式的Mysql安装

步骤压缩包解压得到一个文件夹,尽量把文件夹名字改为mysql-版本号的形式。这就代表Mysql安装成功,然后需要配置。配置环境变量打开Path变量,在里面新建一个环境变量,指向Mysql安装路径下的bin目录。这里,用户变量表示此变量下配置的环境变量仅对当前用户起效。系统变量表示对所有用户都起效。然后,在mysql安装文件夹中新建一个my.ini文件,此文件是Mysql的核心配置文件。作用:用来配置Mysql的,然后在此文件中写这么些东西:注意一点:8.0以上不需要datadir那句

2021-07-04 18:38:26 681 3

原创 MyBatis----注解开发

文章目录注解开发实现简单的增删改查环境搭建实现注解开发实现简单的增删改查MyBatis在配置文件开发中,我们需要为每个实体类编写映射的配置文件,在配置文件中进行配置,才可以对其相关数据库进行操作。在注解开发中,我们不需要编写映射配置文件。这里用到以下几个注解:@Insert:实现新增@Update:实现更新@Delete:实现删除@Select:实现查询环境搭建jar包坐标:<build> <plugins> <!--

2021-06-20 18:54:33 209 2

原创 MyBatis----多表简单操作

文章目录一对一表环境搭建查询一对一表这里,仅记录一个一对一表查询操作环境搭建先有两个表:orders表:ordertime用于记录下单时间,这里设置的是bigint(Long)类型的,是因为这里设置的向数据库中存储的数据是1970年到下单时间的毫秒数,再从数据库中取出来的时候再转换为Date(时间)这个表的索引:设置的和user01表的外键关系:user01表:就是user01表的id设置为orders表的外键(orders的uid字段)这里我们要通过MyBatis实现一个查询,即查

2021-06-19 17:39:32 206 1

原创 MyBatis----映射文件的深入之动态SQL

文章目录动态sql动态sql之if动态sql之foreach动态sqlMybatis的映射文件中,前面我们的SQL都是比较简单的,有些时候业务逻辑复杂时,我们的SQL是动态变化的,此时在前面的学习中我们的SQL就不能满足要求了。而,我们使用动态sql可以使我们的sql语句有多种可能性,根据不同语句使用不同的语法。动态sql之ifMybatis的映射文件,可在sql语句中使用sql来根据当前情况来使用不同的语句:下面是一个多条件聚合查询。向查询语句中传入一个类,可根据类的属性进行查询,当属性值为

2021-06-15 12:49:24 1695 5

原创 MyBatis----代理开发

文章目录概述一般的Dao代理开发的简单实现一个带有参数的测试概述代理开发方式介绍采用Mybatis的代理开发方式实现Dao层的开发,这种方式是现在进入企业的主流。Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis 框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法。Mapper接口开发需要遵循以下规范:1、Mapper.xml文件中的namespace与mapper接口的全限定名相同2、Mapper接口方法名和Mappe

2021-06-14 18:07:58 629 2

原创 MyBatis----核心配置文件的简单分析+相应的API

文章目录概述environments 环境Mapppers标签properties属性typeAliases类型别名MyBatis中的API概述核心配置文件可以配置下面这些东西:configuration配置根标签properties属性配置属性settings设置设置参数typeAliases类型别名设置别名typeHandlers类型处理器objectFactory对象工厂plugins插件environments 环境environment环境变量transactio

2021-06-14 12:04:03 107 1

原创 MyBatis----增删改查基础简单操作

文章目录查增修改删除查在上一篇查增大致和查一样下面是向数据表的user表中传递user对象的数据这里用的另外一个标签insert,用相较于查,这里使用的parameterType属性,用他来指定要插入的数据类型。注意注释。这里#{}花括号中传的是实体属性名,不是表字段名然后配置文件不变,这里直接:这里的ID表里设置的会自动生成,我们不需要自己设置。这里有两个需要注意的地方,即第四第五步。MyBatis和JDBC不同,JDBC中,对表执行更新操作会自动提交事务,MyBatis不会,需要我们自己

2021-06-13 21:31:05 940 3

原创 Mybatis----入门

文章目录概述快速入门概述mybati是一 个优秀的基于java的持久层框架,它内部装了jdbc, 使开发者只需要关注sql语句本身, 而不需要花费精力去处理加教驱动、创建连接、创建statement等繁杂的过程。mybatis通过xml或注解的方式将要执行的各种statement配置起来,并通过iava对象statement中sql的动态参数进行映射生成最终执行的sq|语句。最后Mybatis框架执行sq井将结果映时为iava对象并返回,采用ORM思想解决了实体和数据库映射的问题,对jdbc进行了封

2021-06-13 18:58:21 1932 3

原创 AOP----基于注解的AOP开发

文章目录简单流程注解通知的类型简单流程1:创建目标接口和目标类(内部有切点)2:创建切面类(内部有增强方法)3:将目标类和切面类的对象创建权交给spring4:在切面类中使用注解配置织入关系5:在配置文件中开启组件扫描和AOP的自动代理6:测试创建目标接口和目标类(内部有切点)接口目标类:创建切面类(内部有增强方法)切面类:将目标类和切面类的对象创建权交给spring即为每个AOP需要的类放在spring容器中声明切面类:用Aspect注解在切面类中使用注解配置织入关系

2021-06-10 20:29:51 101 1

原创 AOP----开发简介

文章目录一些术语开发的注意事项开发快速入门一些术语Spring的AOP实现底层就是对上面的动态代理的代码进行了封装,封装后我们只需要对需要关注的部分进行代码编写,并通过配置的方式完成指定目标的方法增强。AOP的相关术语,常用的术语如下:Target (目标对象) :代理的目标对象,其中的方法被称为目标方法Proxy (代理) :一个类被AOP织入增强后,就产生一个结果代理类Joinpoint (连接点) :所谓连接点是指那些被拦截到的点。在spring中,这些点指的是方法,因为spring只支持

2021-06-10 15:59:17 152 1

原创 AOP----入门

文章目录概述:AOP底层的实现AOP动态代理技术概述:什么是AOP:在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。简单来说,面向切面编程就是主要是

2021-06-09 15:52:12 182 3

原创 SpringMVC----异常处理

文章目录概述异常处理的思路异常处理器使用MVC的简单异常处理器自定义异常处理器小结概述在我们MVC,编码、运行过程中总少不了出现异常系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试等手段减少运行时异常的发生。基于Java的抽取思想,我们应该把所出现的所有异常抽取出来,全部交由MVC的某一部分处理异常处理的思路系统的Dao、Service. Controller出现都通过throws Exception向上抛

2021-06-08 20:59:04 157 1

原创 SpringMVC----拦截器初识

文章目录概述MVC拦截器使用步骤入门案例:拦截器中常用方法的使用多个拦截器拦截同一个访问地址小结概述SpringMVC中的拦截器和servlet中的过滤器功能差不多,都是对用户的请求进行审查处理的MVC拦截器使用步骤创建拦截器类实现HandlerInterceptor接口配置拦截器测试拦截器的拦截效果入门案例:创建拦截器类实现HandlerInterceptor接口实现HandlerInterceptor接口中的三个方法,需要我们手动写,因为这三个抽象方法是被default修饰的

2021-06-08 15:21:27 113 2

原创 SpringMVC----JdbcTemplate的初步使用

文章目录JdbcTemplate作用简单的一个入门了解记录一下中间遇到的错误通过配置Bean的方式来使用JdbcTemplateUpdate方法的使用查询多结果查询单结果查询聚合查询(结果为数字的那种简单的类)JdbcTemplate作用他是MVC中封装数据库那一部分组件,这里暂时只记录把数据源交给他管理的情况简单的一个入门了解用JdbcTemplate一般就三个步骤导入包创建连接池创建JdbcTemplate,并把连接池交给JdbcTemplate然后使用JdbcTemplat

2021-06-08 10:45:52 634 1

原创 SpringMVC----文件上传

文章目录单文件上传多文件上传单文件上传在前端页面,要想提交文件,需要表单三要素:1:post请求2:form表单enctype="multipart/form-data"3:type="file"的input标签一旦表单中enctype="multipart/form-data",则不能使用request的get类的方法然后再MVC中,我们需要先进行配置:1:引入jar包:<dependency> <groupId>commons-fileu

2021-06-07 18:56:39 351 3

原创 SpringMVC----获得请求参数

文章目录获得基本参数类型获得POJO类型的参数,即通过请求参数构建对象获得数组类型参数获得集合参数类型(类型可为对象)解决MVC中Post提交表单出现乱码获得基本参数类型什么是基本参数类型?即最基本的数据类型,如字符型,整形…在获取用户基本请求参数中,请求的参数只要和对应方法的形参能对应起来。"对应"的意思是:参数类型,和参数名称,和参数个数,都必须一样。那么,请求的参数值会自动注入到方法的形参中参数名:页面中收集参数标签的name属性参数名:页面中收集参数标签的name属性最重要的是参数对应起来

2021-06-07 14:26:34 295 4

空空如也

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

TA关注的人

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