自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 POI操作文件(将数据填入模板文件,并下载)

直接附代码,解析见注释/** * 下载基本信息xlsx */ @RequestMapping(value = "/printInfo",name = "下载基本信息") public void printInfo(HttpServletRequest request,HttpServletResponse response, KEnterPrint kEnterPrint) thro...

2021-03-26 17:08:04 327

原创 存在更新,不存在插入——Mybatis批量插入MergeInto

由于近期在所开发的项目中,对于数据入库,有存在即更新,不存在则插入的需求,因此发现了Oracle中的MergeInto命令。本文将对MergeInto的用法进行介绍并将MergeInto和批量插入进行结合,同时还会对在MergeInto开发中遇到的问题进行总结。MergeInto命令是Oracle9i中新增的命令,有了MergeInto语句,我们对数据能够不仅仅只做单一的插入或单一的更新,而是可以将更新与插入一起操作。...

2021-03-26 17:06:19 4955

原创 图片配置虚拟路径

1. 前言为什么配置虚拟路径当我们需要上传图片至服务器上时,在数据库里存入图片的base64显然不是个好的方法。那么我们可以存入物理路径或者虚拟路径如果采用物理路径,很有可能出现项目上线之后,图片获取不到的情况。并且,当系统升级,需要全量更新时,就需要拷贝所有资源进行更新,这就会很麻烦。而如果采用虚拟路径,我们就可以通过URL来获取图片url=“http://你自己的域名/项目名/...

2020-01-19 11:41:31 956

原创 SpringBoot项目打成jar包后法无法读取资源文件

1. 前言当我们在写SpringBoot项目且需要用到resources下的资源文件时,很可能会出现一种情况在编码阶段运行时,文件可以读取到,并且可以实现需要用到该文件的功能。但是当它打成jar包后运行时,会出现java.io.FileNotFoundException异常2. 分析原代码:String str=this.getClass().getClassLoader()....

2019-12-31 09:39:54 1022

原创 浅析JeePlus

浅析JeePlus一、前言二、代码组成2.1 Java2.2 Resources三、基本流程对应代码四、常见自定义操作4.1 菜单4.2 添加字段4.3 添加查询条件4.4 查询文本框的更改4.4.1 改为下拉菜单4.4.2 改为日期选择4.5 自定义数据库语句4.6 更改操作4.7 定时任务4.8 导出Excel的显示字段五、常见问题5.1 日期选择器5.2 ***Mapper.xml中数据库的...

2019-12-13 09:45:20 4422

原创 SpringMVC

SpringMVC1. 简介2. 框架模式1. 简介Spring为展现层提供 了一个优秀的web框架——Spring MVCSpringMVC框架围绕DispatcherServlet(前端控制器:截获请求并将其分派给相应的处理器处理)核心展开2. 框架模式模型-视图-控制器(MVC模式)是一种非常经典的软件架构模式。从设计模式的角度来看,MVC模式是一种复合模式,它将多个设计模...

2019-08-22 09:10:40 117

原创 Spring -> AOP

Spring AOP1. AOP基本概念1.1 切面1.2 关注点1.3 核心思想1.4 AOP的实现技术1.5 模式2. AOP应用场景3. AOP术语3.1 通知 Advice3.2 切点 Pointcut3.3 连接点 Join Point3.4 切面 Aspect3.5 织入 Weaving3.6 引入 Introduction3.7 目标对象 Target Object / 被通...

2019-08-19 21:00:24 135

原创 Java Web -> JSP

JSP是服务端程序(页面),把HTML页面加上java代码我们所写的jsp都被转化为了java代码运行机制:把jsp按照jsp的语法规则编写好一个jsp页面,tomcat在运行过程中会对jsp页面进行一个分析,分析完后,将jsp转化为Servlet。然后将Servlet实时编译为.class文件,有了.class文件后,用法同Servlet。若jsp页面没有改变,则直接使用已生成的。若改变...

2019-08-16 20:24:52 341

原创 Java 项目——探索古诗秘密

1. 简介该项目主要是通过爬取网络上的古诗,并对其进行数据的清洗,存储以及分析,根据所得的可视化结果获取一些有关古诗的小秘密。2. 前言我们从小就学习了许多的古诗,同时大数据也比较火热,我就将两者联系起来。这样,即初步了解了数据分析的基本流程,也锻炼了用所学技术解决问题的能力,同时还从中了解到一些古诗中的小秘密。将编程与生活联系起来,为编程增加了不少乐趣。这个只是第一个版本,后续...

2019-07-31 17:27:26 541

原创 Spring -> 资源配置

Spring 资源配置1.1.

2019-07-25 21:10:50 146

原创 Spring -> SpEL语言

Spring SpEL语言1. SpEL语言2. SpEL核心接口2.1 ExpressionParse接口2.2 EvaluationContext接口3. SpEL基础表达式3.1 文本字符解析3.2 对象属性解析3.3 数组和集合解析3.4 方法解析4. Spring中使用SpEL4.1 XML配置4.2 注解配置1. SpEL语言Spring动态表达式语言(SpEL)是一个支持运行...

2019-07-17 21:34:38 550

原创 Spring -> IoC之Bean

1. 基本概念DI(Dependency Injection): 依赖注入用单独的对象来装配对象之间的依赖关系DI容器通过DI容器来维护类之间的关系2. 如何理解DI应用程序依赖IoC容器,因为其需要依赖IoC容器装配类之间的关系依赖的是IoC容器的装配功能IoC容器将一些应用程序所需要的资源(插件等)注入其中3. DI优点通过Setter / 构造器清晰...

2019-07-11 21:22:45 389

原创 Spring -> IoC & DI

1. 基本概念IoC(Inversion of Control): 控制反转将控制权从应用程序转移到框架IoC容器实现了IoC思想的容器 -> SpringFramework、Guice2. 容器提供组件运行环境,管理组件生命周期的程序3. IoC容器特点在容器的功能特点上,还具有依赖装配等特性无需主动new对象,由容器根据对象创建方式来实例化对象 -...

2019-07-08 08:44:01 219

原创 MyBatis -> 缓存

1. Mapper文件结构cache 给定命名空间缓存配置cache-ref 其他命名空间缓存配置的引用resultMap 结果映射sql 可被引用的可重用语句块insertupdatedeleteselect2. select命令...

2019-07-05 08:46:35 119

原创 MyBatis -> 配置

1. XML配置1.1 XML结构顶层结构 -> configuration配置(改变MyBatis的默认行为)properties 属性settings 设置typeAliases 类型别名typeHandlers 类型处理器objectFactory 对象工厂plugins 插件environments 环境集合environment 环境transacti...

2019-07-02 08:33:08 114

原创 MyBatis -> 简介

MyBatis1. 定义2. MyBatis和JDBC SQL3.MyBatis的核心概念3.1 核心类3.1.1 SqlSessionFactoryBuilder3.1.2 SqlSessionFactory3.1.3 SqlSession3.1.4 Mapper interface3.2 SQL映射1. 定义一款支持自定义SQL、存储过程和高级映射的持久化框架(ORM框架 -> 对...

2019-06-30 08:43:05 107

原创 Java Web -> 过滤器Filter & 监听器Listeners

目录1. Filter1.1Filter的核心类1.2Filter的配置1.3Filter顺序2. Listeners2.1 监听器接口分类2.2 应用级监听2.3会话级监听2.4请求级监听3. 注解描述3.1 主要注解1. Filter对Request请求的对象进行拦截(在用户的请求访问资源前),拦截后可以做一些处理(加解密、日志记录...

2019-06-25 20:41:12 333

原创 搜索

目录1. 引入1.1搜索1.2常见容器1.3 与搜索问题有关的数据结构2. 搜索树(二叉搜索树)2.1 定义2.2 时间复杂度2.3 查找一个指定数2.4 插入一个数2.5 删除一个节点2.6 缺点3. 平衡树3.1 定义3.2AVL树3.3红黑树3.3 时间复杂度4. B-树4.1 引入4.2 使用场景4.3...

2019-06-02 09:03:25 177

原创 Java Web -> Servlet

目录Servlet1.API核心包2. Servlet实现3. Servlet接口中3个重要的方法4. ServletConfig5. ServletContext6. 功能特性Servlet 1.API核心包 javax.servlet:其中包含定义Servlet和Servlet容器之间的锲约类和接口 javax.servlet.http:其...

2019-05-28 19:44:29 132

原创 Java Web -> 会话管理

目录1. 引入2. 4种常用会话管理技术2.1 URL重写(后端处理)2.2 隐藏域(前端处理)2.3 Cookies2.4 HttpSession1. 引入默认情况下,WEB服务器无法区分一个HTTP请求是否为第一次访问。因此,我们通过会话跟踪(请求一次就可以跟踪请求)的方式,来记录是否为第一次访问。 第一次请求输入登录信息,之后再次请求时,便可跟踪到上一次...

2019-05-26 20:58:08 277

原创 初识Web

目录1. Web简介1.2 B/S结构1.3 C/S结构1.4 HTTP协议1.5 三大组件1.6 MVC模式2. 初识Servlet2.1 功能2.2 任务3. Web容器3.1 引入3.2 功能1. Web简介Web程序是一种可以通过浏览器访问的应用程序 Web程序中的打包类型为war,与jar的区别在于含有一些静态页面 1.2 ...

2019-05-25 08:49:32 135

原创 MySQL数据库 —— 视图与用户管理

目录1. 视图1.1 基本概念1.2.基本使用1.3 视图规则和限制2. 用户管理2.1 用户2.2 数据库的权限1. 视图 1.1 基本概念 视图是虚拟表,其内容由查询定义。 视图包含一系列带有名称的列和行数据。 视图和基表的数据变化会相互影响。 1.2.基本使用 创建视图 create view 视图名 as select语句...

2019-05-20 21:06:40 523

原创 网络基础

目录1. 网络发展2.网络通信协议2.1 初始2.2 网络分层2.2.1 OSI七层参考模型2.2.2 TCP / IP 五层模型3. 数据包封装和分用3.1 封装3.2 分用4. 应用层4.1 数据的序列化与反序列化4.2 HTTP 超文本传输协议4.2.1 url 统一资源定位符(网址)4.2.2 urlencode / urlde...

2019-05-19 21:21:14 239

原创 MySQL数据库 —— 事务管理

目录1.初识事务1.1 引入2. 事务的基本操作2.1 基础语法2.2 注意3. 事务的隔离级别3.1 无隔离性问题3.1 事务的隔离级别4. 事务的ACID特性1.初识事务事务是一组DML语句组成,这些语句在逻辑上存在相关性。这一组DML语句是一个整体,要么全部成功,要么全部失败。事务还规定不同的客户端看到的数据是不同的。 1.1 引入 ...

2019-05-18 22:27:00 144

原创 网络套接字编程

目录1. 基本概念1.1 IP地址1.2 port端口号1.3 五元组1.4 字节序2. 套接字编程2.1 概念2.2 基于udp协议实现网络通信2.2.1 客户端2.3 基于tcp协议实现网络通信1. 基本概念 1.1 IP地址 功能:唯一标识网络上的主机 数据类型:无符号4个字节的整数,uint32_t(IPV4) 在IP数据包头...

2019-05-17 22:37:54 411

原创 MySQL数据库 —— 复合查询及内外连接

1. 多表查询当我们所要查询的数据来自不同的表时,就需要多表查询。找出各个表之间的联系,作为限定条件放在查询语句中。2. 自连接在同一张表连接查询。3. 子查询嵌套查询,嵌套在其他sql语句中的select语句。3.1 单行子查询子查询的查询结果是单列、单行3.2 多行子查询子查询的查询结果为单列、多行常用关键字 in all any 3.3...

2019-05-15 09:43:35 386

原创 MySQL数据库 —— 索引特性

目录1. 基础概念2. 索引的创建2.1 主键索引2.2 唯一索引2.3 普通索引2.4 全文索引3. 索引的查询4. 索引的删除5. 索引创建原则1. 基础概念索引 优点:提高数据库的性能,尤其是查询速度 缺点:增加了大量的I/O,并占用了大量的磁盘空间 特点:以空间换时间 常见索引 主键索引 唯一索引 普通索引 全文索...

2019-05-13 09:16:09 386

原创 Linux 多线程

目录1. Linux线程概念2. 线程控制2.1 线程创建2.2 线程终止2.3 线程等待2.4 线程分离3. 线程安全4. 同步与互斥4.1 互斥锁4.2 死锁4.3 同步4.4 生产者与消费者模型4.3 posix标准信号量4.4 读写锁(读写者模型)5. 线程池5.1 作用6. 线程安全的单例模式1. Linux线程概念...

2019-05-12 09:15:13 276

原创 Linux 进程信号

目录1. 信号的基本认识2. Linux下信号的种类3. 信号的产生3.1 通过硬件产生3.2 通过软件产生3.3 core dumped 核心转储4. 信号在进程中注册4.1 非可靠信号4.2 可靠信号5. 信号在进程中注销5.1 非可靠信号5.2 可靠信号6. 信号的处理6.1 处理方式6.2 捕捉信号7. 阻塞信号7.1 信...

2019-05-10 20:31:39 442

原创 Linux 基础 I/O

目录1. 标准库的IO接口2. 系统调用的IO接口3. 文件描述符3.1 什么是文件描述符3.2 文件描述符的分配规则3.3 文件流指针与文件描述符的关系3.5 缓冲区位置3.6 通过文件流指针操作一个文件3.7 内核态与用户态4. 重定向4.1 dup24.2 在minishell中添加重定向5. 文件系统(ext2)5.1 文件存储与...

2019-05-07 21:32:32 363

原创

目录1. 堆简介2. 堆化3. 建堆4. 堆与数组的比较1. 堆简介顺序存储二叉树,把二叉树的值存在数组中 -> 按层序遍历的方式平铺在数组中。大多数情况下,只存储完全二叉树。 下标的计算 已知双亲节点的下标 parent 左孩子的下标 left = 2 * parent +1 右孩子的下标 left = 2 * parent + 2 已...

2019-05-06 09:27:48 121

原创 Linux 进程间通信

目录1.基本介绍1.1 进程间通信引入1.2 进程间通信目的1.3 进程间通信方式2. 管道2.1 匿名管道:pipe2.2 命名管道3. 共享内存3.1 使用流程4. 消息队列4.1 使用流程5. 信号量1.基本介绍 1.1 进程间通信引入 因为进程的独立性,使得它们之间通信较为麻烦,因此需要OS提供一些方法 使得进程之间能够共同访问...

2019-05-03 22:09:44 130

原创 解析七大排序

目录1. 排序2. 常见的排序算法2.1 直接插入排序 (减治)2.1.1 思路2.1.2 具体实现2.1.3 时间复杂度2.1.4 空间复杂度2.1.5 稳定性2.1.6 代码2.2 希尔排序2.2.1 思路2.2.2 具体实现2.2.3 时间复杂度2.2.4 空间复杂度2.2.5 稳定性2.2.6 代码2.3 选择排序 (减...

2019-04-29 09:24:08 219

原创 jQuery

目录1. jQuery简介2. jQuery的开发步骤3. jQuery与JavaScript4. jQuery的动画效果5. jQuery的基本选择器6. jQuery的层级选择器7. jQuery的基本过滤器8. jQuery的属性选择器1. jQuery简介jQuery是一个快速、简洁的JavaScript框架,是一个JavaScript代码库,优化H...

2019-04-27 10:02:16 114

原创 Linux 进程控制

目录1. 初识fork()1.1fork的返回值1.2写时拷贝技术1.3常规用法1.4 fork调用失败情况1.5 vfork()2. 进程终止2.1 进程退出情况2.2 进程的退出方式3. 进程等待3.1 进程等待方法4. 程序替换1. 初识fork()操作系统以父进程为模板创建子进程,父子进程代码段相同,但是有各自独有的数据进...

2019-04-26 09:54:29 151

原创 Linux 进程概念

目录1. 冯诺依曼体系结构1.1 五大硬件单元1.2 操作系统2. 进程概念2.1 操作系统如何管理进程2.2 操作系统如何描述进程2.3 查看进程:2.4 创建进程(创建PCB):2.5 进程状态2.6 进程优先级 PRI3. 环境变量4. 程序地址空间5. 进程调度1. 冯诺依曼体系结构现代计算机的硬件体系结构 1.1 五大硬...

2019-04-25 21:36:59 251

原创 二叉树的前序、中序、后序遍历

目录1. 定义2. 递归实现2.1 前序遍历2.2 中序遍历2.3 后序遍历3. 非递归实现3.1 前序遍历3.2 中序遍历3.3 后序遍历1. 定义遍历 指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。 遍历方式 前序 根 左子树 右子树 中序 左子树 根 右子树 后序 左子树 右子树根 ...

2019-04-23 21:43:44 119

原创 二叉树的层序遍历

1. 定义 设二叉树的根节点所在层数为1,层序遍历就是从所在二叉树的根节点出发,首先访问第一层的树根节点,然后从左到右访问第2层上的节点,接着是第三层的节点,以此类推,自上而下,自左至右逐层访问树的结点的过程就是层序遍历。 层序遍历为广度优先遍历,需要队列实现。 2. 普通的层序遍历 思路 启动 -> 根入队列 找下线(去除空节点) 取队首 找左右...

2019-04-21 09:12:28 1306

原创 二叉树的创建

1. 带有空节点的前序 -> 创建二叉树不能用普通的前序遍历创建二叉树,得到的二叉树不唯一。因此,使用带空节点的前序遍历来创建二叉树。根据带空节点的前序遍历,可以简单明确的得到根节点(下标为0的结点)。 1.1 步骤 通过前序遍历的第一个值创建根节点 将除了根节点之外的其他值存入左遍历 通过左遍历创建左子树,并获得左遍历使用的节点个数及左子树的根 将除了根节点以及左子树使...

2019-04-19 20:48:32 220

原创 栈与队列

目录1.栈1.1 栈的规则与操作1.2 栈的实现2. 队列2.1 队列的规则与操作2.2 队列的实现1.栈一种特殊的线性表,只能在固定的一端(栈顶)进行插入、删除,另一端成为栈底。Java中提供了一个类,java.util.Stack<E> 1.1 栈的规则与操作 规则 先进后出(FILO) / 后进先出(LIFO) 压栈 ...

2019-04-18 18:17:36 99

空空如也

空空如也

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

TA关注的人

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