- 博客(10)
- 收藏
- 关注
原创 二叉树非递归三种遍历
前序遍历根–左--右 public T preorderTraversal(TreeNode root) { Stack<TreeNode> nodes = new Stack(); TreeNode node = root; while(true){ /*-------------*/ visit(node); /*-------------*/
2020-09-13 09:23:06
710
原创 Mybatis中结果集封装
Mybatis如果将将查询结果封装为list ?整个过程在handleRowValuesForNestedResultMap()方法中完成。流程如下在DefaultResultSetHandler中的nestedResultObjects用于存放封装每一行数据的Java对象,是一个Map集合。在Mybatis处理结果集的时候,是一行一行处理的。1. 生成key。该key用于从nestedResultObjects中获取Object。生成规则主要是拼接当前行的主键值及其对应的ColumnName。
2020-08-31 22:11:26
1701
原创 关于mybatis中的<collection>两种用法我想说
概述mybatis中的两种用法内嵌ResultMap内嵌Query以下介绍都会围绕场景:一片博客blog有多个标签tag来进行。内嵌ResultMap用法如下<collection property="tags" ofType="com.blog.po.Tag"> <id property="id" column="tagid" /> <result property="name" column="tagname" /&
2020-08-31 18:00:09
3473
原创 关于Mybatis-plus自定义多表分页查询的那些事。
在使用Mybatis-plus自定义多表联合分页查询时遇到一些问题:输出结果中,那些一对多的纪录实际的查询结果却是一对一。比如:blog拥有List类型的属性tags,并且该blog在数据库中对应着多个tag,但是最终的查询结果却为一个blog对应一个tag。本文主要就是对该问题进行分析。准备工作导入依赖加入分页组件在Mapper接口中加入自定义方法。 Page<Blog> blogList(Page<Blog> page);在xml配置文件中实现自定义的Sql方法。
2020-08-31 17:03:16
1064
原创 彻底搞懂SpringAOP中的@within和@target
本文是对参考连接的一个补充,只讨论@within和@target的区别。如果不懂注解的、不懂AOP的先去补一下。参考连接概述@within和@target是在配置切点的时候使用到的两个修饰符,都是基于注解来配置切点。比如当前有注解@A"@within(com.annotation.other.A1)"该配置就是:如果某个类上标注了注解@A,那么该类中的方法就会被相关Advice所影响,如果该类有子类或孙子类,也会影响到子类中没有重写的父类方法。(看不懂的别急,后面有例子)"@target(co
2020-08-20 15:28:29
11459
1
原创 设计模式——适配器模式
适配器模式是否有考虑过为什么我们手机充电器插头不是图2中的样子,而是图1中的样子。其实手机电池要求输入电压为5V,但是我们家用电压均为220V,为了完成给手机充电这个操作,我们就需要将输入电压从22V转换为5V,其中完成这个转换操作的东西就是适配器。这就是手机充电插头是图1样子的原因。现在我们通过使用代码实现给手机充电这一流程,体会一下Java中的适配器模式。类图如下:具体代码://Phonepublic class Phone { //手机充电 public void chargin
2020-08-09 12:12:37
319
原创 33. 搜索旋转排序数组(Search in Rotated Sorted Array)
题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。分析数组旋转本题是数组,而且要求时间复杂度为 O(log n) 。应该能够自然想到二分查找。但是直接使用二分查找行不行呢?我们看一看下面这个例子:在数组[3 4 5
2020-08-05 08:57:53
1854
2
原创 Swagger基本配置及常用注解
配置扫描接口在创建Docket对象时,可以通过select()方法来配置如何扫描接口。可以用一个词来概括—>层层细化@Beanpublic Docket docket() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.
2020-07-29 15:26:08
2439
原创 org.springframework.hateoas.config.HateoasConfiguration required a single bean, but 15 were found:
问题今天下项目中加入swagger后,启动时遇到这个问题Parameter 0 of method linkDiscoverers in org.springframework.hateoas.config.HateoasConfiguration required a single bean, but 15 were found:具体描述如下Error starting Applicationcontext. To display the conditions report re-run you
2020-07-28 21:53:24
958
原创 从maven仓库手动下载jar包
前言平时开发中可能会遇到自己所需要的jar包还没有上传到maven中央仓库,解决办法不只一种,本文主要是以自己手动下载jar包到本地来解决的。比如,今天在使用swagger的时候遇到无法从maven中央仓库加载所需要jar包(版本号爆红),于是通过自己手动下载该jar包到本地仓库来解决。正文在此处下载jar包根据maven的依赖坐标中的groupId和artifactId找到自己所需要的jar包。比如我所需要的jar包maven坐标如下<dependency>
2020-07-28 21:43:38
16548
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人