自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

J.O.老弟

精益求精写博客,踏踏实实做老弟

  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 【手写MyBatis】(05)- SqlSession执行流程

文章目录手写MyBatis框架Code:SqlSession执行流程SqlSession接口SqlSessionFactorySqlSessionFactoryBuilderExcutor (CachingExecutor、BaseExecutor)SimpleExecutor完善:SqlSession内的方法执行完善:getBoundSql()测试:手写MyBatis框架select全执行流程测试准备测试结果:手写MyBatis框架Code:SqlSession执行流程SqlSession接口Sq

2020-06-10 18:14:05 418 1

原创 【手写MyBatis】(03)- 项目搭建及配置文件加载

文章目录手写MyBatis框架需求定义项目搭建框架代码结构图设计配置文件Code:解析全局配置文件定义Configuration类与主解析类解析标签解析标签Test:全局配置文件读取添加依赖编写测试类手写MyBatis框架需求定义使用手写框架,根据用户ID查询用户信息项目搭建框架代码结构图设计配置文件全局配置文件<configuration> <!-- MyBatis 数据源环境配置 --> <environments default="dev

2020-06-10 18:11:13 209 1

原创 【手写MyBatis】(04)- Mapper.xml文件加载过程

文章目录手写MyBatis框架Code:解析UserMapper.xml文件Configuration对象添加属性XMLMapperParserXMLStatementParser 与 MappedStatementSqlSource 与 ParameterMappingXMLScriptParser 与 SqlNodeNodeHandler 与 IfNodeHandlerTest:测试UserMapper.xml文件解析手写MyBatis框架Code:解析UserMapper.xml文件解析单个对应

2020-06-08 13:37:41 598 1

原创 【手写MyBatis】(02)- 了解MyBatis架构原理

文章目录MyBatis架构原理架构图接口层数据处理层支撑层架构流程图mybatis配置文件SqlSessionFactorysqlSessionExecutor执行器Mapped Statement从Configuraion对象的角度看流程调用流程图各对象解析四大组件Mapper代理执行流程图MyBatis架构原理架构图接口层接口层是MyBatis提供给开发人员的一套API.主要使用SqlSession接口.通过SqlSession接口和Mapper接口.开发人员可以通知MyBatis框架调用那一

2020-06-08 13:34:22 217 1

原创 【手写MyBatis】(01)- JDBC与手写思路分析

文章目录分析原生JDBC存在的问题JDBC示例代码JDBC存在的问题手写框架思路分析配置文件的编写加载配置文件执行SqlSession接口分析原生JDBC存在的问题JDBC示例代码一个Select语句共需要8步操作:依赖<dependencies> <!-- 单元测试 --> <dependency> <groupId>junit</groupId> <artifactId>ju

2020-06-08 13:31:18 315

原创 【MyBatis基础】(09)- 逆向工程(代码自动生成)

文章目录逆向工程介绍搭建项目目录结构准备数据库连接配置文件以及驱动包修改generator配置文件maven-plugin 方式生成代码代码运行方式生成代码生成结果注意事项逆向工程介绍使用官方网站的Mapper自动生成工具mybatis-generator-core-1.3.2来针对单表生成po类(Example)和Mapper接口和mapper映射文件官网地址: http://mybatis.org/generator/index.html搭建项目目录结构准备数据库连接配置文件以及驱动包d

2020-06-08 13:23:37 257

原创 【MyBatis基础】(08)- PageHelper插件

PageHelper分页插件介绍分页插件网址:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/HowToUse.md目前几乎支持所有的关系型数据库使用方法添加依赖<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifact

2020-06-08 13:19:30 140

原创 【MyBatis基础】(07)- 动态SQL

动态SQL的思想:就是使用不同的动态SQL标签去完成字符串的拼接处理、循环判断。解决的问题是:在映射文件中,会编写很多有重叠部分的SQL语句,比如SELECT语句和WHERE语句等这些重叠语句,该如何处理SQL语句中的where条件有多个,但是页面只传递过来一个条件参数,此时会发生问题。if标签综合查询的案例中,查询条件是由页面传入,页面中的查询条件可能输入用户名称,也可能不输入用户名称。public class UserQueryInput { private User user

2020-06-08 13:17:45 212

原创 【MyBatis基础】(06)- 延迟加载与缓存

文章目录延迟加载什么是延迟加载延迟加载的分类配置方式缓存缓存介绍一级缓存二级缓存延迟加载什么是延迟加载MyBatis中的延迟加载,也称为懒加载,是指在进行关联查询时,按照设置延迟规则推迟对关联对象的select查询。延迟加载可以有效的减少数据库压力。Mybatis的延迟加载,需要通过resultMap标签中的association和collection子标签才能完成。Mybatis的延迟加载,也被称为是嵌套查询,对应的还有嵌套结果的概念,可以参考一对多关联的案例。注意:MyBatis的延迟加载

2020-06-08 13:14:17 141

原创 【MyBatis基础】(05)- 关联查询

文章目录商品订单数据模型一对一查询一对多查询商品订单数据模型注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发,关联查询用户信息为一对一查询。如果从用户信息出发,查询用户下的订单信息则为一对多查询,因为一个用户可以下多个订单。一对一查询需求查询所有订单信息,关联查询下单用户信息。SQL语句SELECT orders.*, user.username, user.address FROM orders LEFT JOIN user ON or

2020-06-08 13:11:16 176

原创 【MyBatis基础】(04)- 输入输出映射

文章目录parameterType (输入类型)传递简单类型传递pojo对象resultType (输出类型)映射简单类型resultMap (输出类型)映射pojo类型parameterType (输入类型)parameterType属性可以映射的输入参数Java类型有:简单类型、POJO类型、Map类型、List类型(数组)。传递简单类型需求根据用户名称模糊查询用户列表映射文件<select id="findUserByUsername" parameterType="java.la

2020-06-08 13:10:00 201

原创 【MyBatis基础】(03)- 全局配置文件

文章目录配置的内容和顺序各配置的使用properties 标签typeAlias 标签mappers 标签配置的内容和顺序顺序不能变propertie (属性)settings (全局配置参数)typeAliases (类型别名)typeHandlers (类型处理器)objectFactory (对象工厂)plugins (插件)environments (环境集合属性对象)environment (环境子属性对象)mappers (映射器)各配置的使用properties

2020-06-08 13:05:26 149

原创 【MyBatis基础】(02)- Mapper代理开发方式

代理代理分为静态代理和动态代理。此处先不说静态代理,因为Mybatis中使用的代理方式是动态代理。动态代理分为两种方式:基于JDK的动态代理–针对有接口的类进行动态代理基于CGLIB的动态代理–通过子类继承父类的方式去进行代理。XML方式开发方式只需要开发Mapper接口(dao接口)和Mapper映射文件,不需要编写实现类。开发规范Mapper接口开发方式需要遵循以下规范:Mapper接口的类路径与Mapper.xml文件中的namespace相同。Mapper接口方法名称和M

2020-06-08 13:04:28 207

原创 【MyBatis基础】(01)- 介绍与入门

文章目录1、MyBatis是什么?2、MyBatis的由来3、ORM 框架与MyBatis4、简单的MyBatis例子Mybatis参考网址:http://www.mybatis.org/mybatis-3/zh/index.htmlGithub源码地址:https://github.com/mybatis/mybatis-31、MyBatis是什么?MyBatis 是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的JDBC代码和手动设置参数以及获

2020-06-08 10:44:33 197

原创 【SpringDataJPA工作笔记】: 先排序后分组的分页条件查询

文章目录1、需求说明2、纯SQL实现(数据库语句)3、SpringDataJPA nativeSql实现(1)表实体(2) VO对象(3) Service层实现4、写在最后1、需求说明有如下数据表:用户的登录日志记录,需要查询出每个用户最新一条的登录信息,即分组前先排序,获取每个人login_time字段值最大的那一行。log_idlogin_user_idlogin_user_accountlogin_timelogout_timelogout_way11zhang

2020-05-13 16:06:51 905 1

原创 【Elasticsearch】ES单机/集群安装 + Kibana集成(6.x版本)

大家好,我是J.O.老弟,今天这篇文章来分享一下Elasticsearch的单机及集群安装,基于6.x的版本。文章目录1、ES的单机安装(1)下载压缩包(6.6.2版本)(2)解压缩并修改配置文件(3)修改系统环境变量vm.max_map_count(4)修改JVM分配大小(5)修改最大文件描述符数量和用户最大线程数(6)启动Elasticsearch2、Kibana 安装(1)下载并解压k...

2020-04-28 20:30:42 462

ES+分词器-6.6.2.zip

Elasticsearch+分词器(6.6.2版本)软件集合包。对应软件安装讲解博客地址:https://blog.csdn.net/JeffOsmond/article/details/105822249

2020-04-29

空空如也

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

TA关注的人

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