TA的博客

157

1、Maven是啥?Maven是Apache软件基金会唯一维护的一款自动化构建工具,专注于服务Java平台的项目构建和依赖管理。Maven是基于项目对象模型(POM)可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。2、Maven可以干啥?添加第三方jar包jar包之间的依赖关系:Maven可以替我们自动的将当前jar包所依赖的其他所有jar包全部导入进来获取第三方jar...

1、什么是HTTP协议?HTTP协议是HyperTextTransferProtocol(超文本传输协议)的简称,是用于从万维网(WWW)传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。HTTP是一个应用层协议,由请求和响应组成,是一个标准的客户端服务器...

上一篇博文MyBatis源码学习—MyBatis数据仓库会话器StatementHandler详解我们通过Statement将SQL发送到了数据库,并返回了ResultSet,接下来就是将结果集ResultSet自动映射成实体类对象。这样使用者就无需再手动操作结果集,并将数据填充到实体类对象中。这可大大降低开发的工作量,提高工作效率。1、ResultSetHandler简介回想一下,一条SQ...

MyBatis的四大组件我们已经了解过两种了:一个是Executor,它在创建SqlSession的时候会被初始化,它是MyBatis解析SQL请求首先会经过的第一道关卡,它的主要作用在于创建缓存,管理StatementHandler的调用,为StatementHandler提供Configuration环境等。StatementHandler组件最主要的作用在于创建Statement对象与...

1、为什么Java需要Lambda表达式?Java是一门的面向对象语言,除了部分简单数据类型,Java中的一切都是对象,即使数组也是一种对象。在Java中定义的函数或方法不可能完全独立,也不能将方法作为参数或返回一个方法给实例。在Swing编程中,我们总是通过匿名类给方法传递函数功能,以下是旧版的事件监听代码:在上面的例子里,为了给Mouse监听器添加自定义代码,我们定义了一个匿名内部类Mo...

1、StatementHandler对象的创建过程在上一节MyBatis源码学习—MyBatis执行器Executor详解中我们了解MyBatis执行器的产生以及执行SQL的大致过程。StatementHandler对象是在SqlSession对象接收到SQL执行命令时,由Configuration对象中的newStatementHandler负责调用的,也就是说Configuration中...

​从前面分析我们知道了sql的具体执行是通过调用SqlSession接口的对应的方法去执行的,而SqlSession最终都是通过调用了自己的Executor对象的query和update去执行的。本文就分析下sql的执行器—–Executor。1、Executor继承体系下图展示的是MyBatis的执行器的核心类的继承体系图。Executor是执行器的顶层接口,它定义...

1、LRU算法是什么?​LRU:LeastRecentlyUsed,即最近最久未使用的意思。​LRU算法是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。​该算法是计算机操作系统中置换页的一种算法,同时在其他领域也有广泛应用,比如Redis的内存淘汰策略,该算法也是面试中面试官常常用来考验面试者代码能力和对LRU算法的正确...

SqlSession的运行过程是整个MyBatis最难以理解的部分。SqlSession是一个接口,使用它并不复杂。我们构建SqlSessionFactory之后就可以轻易地拿到SqlSession了。SqlSession接口给出了查询、插入、更新、删除的方法,在旧版本的MyBatis或iBatis中常常使用这些接口方法,而在新版的MyBatis-3中我们建议使用Mapper,SqlSess...

数据库查询相信很多人都不陌生,所有经常有人调侃程序员就是CRUD专员,这所谓的CRUD指的就是数据库的增删改查。在数据库的增删改查操作中,使用最频繁的就是查询操作。而在所有查询操作中,统计数量操作更是经常被用到。关于数据库中行数统计,无论是MySQL还是Oracle,都有一个函数可以使用,那就是COUNT。但是,就是这个常用的COUNT函数,却暗藏着很多玄机,尤其是在面试的时候,一不小心就会...