什么是数据,如何访问,好像是问题又好像不是问题。看着简单,其实情况很复杂。
MySQL架构原理之运行机制
摘要:所谓运行机制即MySQL内部就如生产车间如何进行生产的。如下图: 1、建立连接,通过客户端/服务器通信协议与MySQL建立连接。MySQL客户端与服务端的通信方式是"半双工"。对于每一个MySQL的连接,时刻都有一个线程状态来标识这个连接正在做什么。 通信机制: 线程状态: show process
阅读全文
posted @
2022-02-15 17:36
池塘里洗澡的鸭子
阅读(503)
推荐(0)
MySQL架构原理之体系架构
摘要:MySQL是最流行的关系型数据库软件之一,由于其体量小、速度快、开源免费、简单易用、维护成本低等,在季军架构中易于扩展、高可用等优势,深受开发者和企业的欢迎,在互联网行业广泛使用。 其系统架构如下: MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层。 1、网络
阅读全文
posted @
2022-02-15 11:20
池塘里洗澡的鸭子
阅读(99)
推荐(0)
Spring Boot对Spring Data JPA的支持
摘要:Spring Data JPA应用之查询操作初体验已经使用了Spring Data JPA,但是用的是测试工具测试。本篇在其基础上演示在实际项目中如何使用(本文以web项目为例)如下: 1)导入需添加的依赖 2)Spring Data JPA应用之查询操作初体验中配置取消,springboot自动配
阅读全文
posted @
2021-12-02 13:12
池塘里洗澡的鸭子
阅读(51)
推荐(0)
Spring Data JPA应用之查询分析
摘要:在Spring Data JPA应用之查询操作初体验中提供了三种查询的方式,测试时使用了一种方式而且不是接口中编码的。为什么呢?在其文尾附上了JpaRepository接口继承关系及方法,可以知道JpaRepository提供了基本的CRUD操作——即当使用JPA时,对于简单的增、删、查、改等功能几
阅读全文
posted @
2021-12-01 14:19
池塘里洗澡的鸭子
阅读(54)
推荐(0)
Spring Data JPA应用之查询操作初体验
摘要:Spring Data JPA是什么?首先JPA 是⼀套规范——一个数据存储标准定义,内部是由接⼝和抽象类组成的,并且有许多实现方式,Hibernate就是其中一种实现范式。通过JPA可以将我们的业务与具体所要存储的数据库解耦而不需要为不同的数据库编写不同的处理方法,从而方便在多种数据库之间进行切换
阅读全文
posted @
2021-12-01 12:14
池塘里洗澡的鸭子
阅读(84)
推荐(0)
数据缓存之Cache规范JSR107
摘要:JSR是Java Specification Requests 的缩写 ,Java规范请求——提交Java规范。 JSR-107就是关于如何使用缓存的规范,是java提供的一个接口规范,类似于JDBC规范,没有具体的实 现,具体的实现就是reids等这些缓存技术。 JSR-107相关内容:Java
阅读全文
posted @
2021-11-25 19:49
池塘里洗澡的鸭子
阅读(65)
推荐(0)
如何使用IDEA工具右边栏的Database模块
摘要:理解Spring Boot自动配置数据源相关代码进行测试时总是无法链接数据库,但是其他方式链接又是没有问题。不知道哪里出现问题了,后来搜资料无意中看到idea提供了Database模块可以测试,就是用了很长时间Idea但是一直都没有用过这个模块,使用mysql研究了下怎么用还是比较靠谱的。因为工具版
阅读全文
posted @
2021-11-22 11:31
池塘里洗澡的鸭子
阅读(1442)
推荐(0)
Mybatis整合Spring
摘要:需求:查询tb_resume中所有人的简历。 分析:不使用Spring,只使用mybatis实现这个功能并不困难,可参考一、Mybatis快速入门 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)。 使用Spring,将main主函数中关于没有Mybatis的部分交给Spring管理应该
阅读全文
posted @
2021-11-18 00:38
池塘里洗澡的鸭子
阅读(48)
推荐(0)
MyBatis功能点之二(1):MyBatis提供的拦截器平台
摘要:前面关于MyBatis功能点二plugin已经介绍了一些应用及其实现的底层代码(参考https://www.cnblogs.com/ilovebath/p/14510697.html),本文总结MyBatis提供的拦截器平台框架体系。 通过MyBatis功能点二:从责任链设计模式的角度理解插件实现技
阅读全文
posted @
2021-11-10 12:34
池塘里洗澡的鸭子
阅读(73)
推荐(0)
CentOS8上安装MySQL8.0.26
摘要:熟悉的yum安装,前提是可以仓库中提供了MySQL相关的安装包,这个安装包可能还不是最新的,也可以将现有过期版本使用yum remove卸载之后重装;如果需要安装最新的,另外下载使用rqm安装吧。具体yum安装的过程不详述,具体命令可以参考CentOS8安装启用telnet服务 - 池塘里洗澡的鸭子
阅读全文
posted @
2021-11-04 15:43
池塘里洗澡的鸭子
阅读(476)
推荐(0)
MyBatis功能点二应用:第三方分页插件使用
摘要:pageHelper分⻚插件使用 在前面文章MyBatis功能点二:plugins插件使用 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中介绍了自定义插件的使用,本文介绍第三方插件pageHelper的使用,生成中比较常用。 一、加载PageHelper坐标 二、核心配置文件添加插件
阅读全文
posted @
2021-04-04 13:22
池塘里洗澡的鸭子
阅读(77)
推荐(0)
MyBatis功能点一应用:二级缓存整合redis
摘要:Mybatis提供了默认的cache实现PerpetualCache,那为什么还要整合第三方的框架redis?因为Mybatis提供的cache实现为单机版,无法实现分布式存储同时为什么是二级缓存整合redis而不是一级缓存?因为一级缓存不跨session(单机版不需要)。 关于Redis,可查看相
阅读全文
posted @
2021-04-03 15:44
池塘里洗澡的鸭子
阅读(124)
推荐(0)
MyBatis功能点之一(2):二级缓存cache
摘要:对于Mybatis缓存分作用域等维度区别一、二级缓存特点如下图: 对于缓存的作用域,之前文章五、MyBatis缓存初体验 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中已经验证,sqlsesion.close()仅对一级缓存有影响,而update等对一/二级缓存均有影响。那从sess
阅读全文
posted @
2021-04-03 15:13
池塘里洗澡的鸭子
阅读(251)
推荐(0)
五(补充三)MyBatis封装JDBC具体实现
摘要:通过https://www.cnblogs.com/ilovebath/p/14531263.html,实现了类似Mybatis的基本框架,对于Mybatis的框架应该有了比较直观的了解。对于Mybatis的具体实现当然相对复杂,但是万变不离其宗:关于xml等解析的工具基本均包含在org.apach
阅读全文
posted @
2021-04-03 11:38
池塘里洗澡的鸭子
阅读(552)
推荐(0)
五、仿MyBatis自定义的持久层如何添加增删查改功能
摘要:熟练使用mybatis后,有没有考虑类似的自定义一个持久层呢?实现参考代码https://gitee.com/duckinpool/homework_2021/tree/master/1.1_mybatis/code。持久层目录如下: 首先实现自定义持久层后,测试查询功能。如下: 关于持久层实现思路
阅读全文
posted @
2021-03-14 02:56
池塘里洗澡的鸭子
阅读(12)
推荐(0)
五(补充一)、Mybatis中Mapper代理方式
摘要:从五、仿MyBatis自定义的持久层如何添加增删查改功能中可以知道Mybatis的实现核心就是Mapper代理执行sql获取业务数据。在测试案例中,使用如下代码即可得到相应业务数据。 通过Mybatis源码分析可以知道自定义实现完全体现的Mybatis的核心本质实现:mapper通过XMLConfi
阅读全文
posted @
2021-03-10 17:49
池塘里洗澡的鸭子
阅读(127)
推荐(0)
五(补充二)MyBatis中执行器Executor框架
摘要:在五、仿MyBatis自定义的持久层如何添加增删查改功能中,自定义了一个Executor,实现具体执行sql语句。MyBatis实际就是提供了一套Executor框架——但是比自定义的Executor复杂,具体如下图: 其为Mybatis提供与数据库交互的功能,是一个典型的装饰器模式(参考一、装饰器
阅读全文
posted @
2021-03-10 13:58
池塘里洗澡的鸭子
阅读(81)
推荐(0)
MyBatis功能点之二(2):从责任链设计模式的角度理解插件实现技术
摘要:MyBatis允许对其四大组件(Executor,StatementHandler,ParameterHandler, ResultSetHandler)进行增强处理。在创建四大组件对象的时候 1、每个对象创建处理都不是直接返回,而是使用拦截器链拦截处理(interceptorChain.plugi
阅读全文
posted @
2021-03-09 15:36
池塘里洗澡的鸭子
阅读(129)
推荐(0)
MyBatis功能点之二:plugins插件使用
摘要:MyBatis自定义插件使用步骤(已有pojo及mapper的基础上) 一、自定义插件,实现Interceptor接口 红框中注解说明了对四大组件中的那个组件生效。 二、核心配置文件sqlMapConfig.xml文件增加插件相关内容 测试 测试结果:
阅读全文
posted @
2021-03-09 10:46
池塘里洗澡的鸭子
阅读(223)
推荐(0)
MyBatis功能点之一(补充):MyBatis缓存Cache包
摘要:从MyBatis功能点之一(1):MyBatis缓存初体验中,可知二级缓存是跨session的,而一级缓存不是。为什么呢?通过Mybatis源码分析,一级缓存默认使用底层数据结构为PerpetualCache为数据查询提供效率。同时MyBatis不止实现了PerpetualCache,还有其他实现提
阅读全文
posted @
2021-03-07 19:33
池塘里洗澡的鸭子
阅读(80)
推荐(0)