一道面试题
让我们开门见山,直面主题:Dubbo 服务里面有个服务端,还有个消费端你知道吧?
服务端和消费端都各有一个线程池你知道吧?
那么面试题来了:一般情况下,服务提供者比服务消费者多吧。一个服务消费方可能会并发调用多个服务提供者,每个用户线程发送请求后,会进行超时时间内的等待。多个服务提供者可能同时做完业务,然后返回,服务消费方的线程池会收到多个响应对象。这个时候要考虑一个问题,如何将线程池里面的每个响应对象传递给相应等待的用户线程,且不出错呢?
Mybatis入门
1、什么是Mybatis?
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
2、为什么要用Mybatis?
3、Mybatis快速入门
- 导入开发包
- 准备测试工作
- 创建mybatis配置文件
- 编写工具类测试是否获取到连接
- 创建实体与映射关系文件
- 编写DAO
4、Mybatis工作流程
5、完成CRUD操作
- 增加学生
- 2根据ID查询数据
- 查询所有数据
- 根据id删除
- 修改
- 小细节
- Mybatis分页
6、动态SQL
- 动态查询
- 动态更新
- 动态删除
- 动态插入
Mybatis配置信息
1、映射文件
2、配置文件
关联映射
Mybatis【多表连接】
缓存+Mapper代理+逆向工程
1、Mybatis缓存
2、mybatis和ehcache缓存框架整合
3、Mapper代理方式
4、Mybatis解决JDBC编程的问题
5、Mybatis逆向工程
Mybatis整合Spring
1、Mybatis与Spring整合
Mybatis常见面试题
Mybatis源码——入门
- 为什么要使用MyBatis
- 如何使用MyBatis
Mybatis源码——配置文件解析过程
配置文件解析过程分析
Mybatis源码——映射文件解析过程
1、映射文件解析解析入口
2、解析映射文件
3、Mapper接口绑定过程分析
4、处理未完成解析的节点
Mybatis源码——SQL执行流程
1、SQL执行入口
2、查询语句的执行过程
3、更新语句的执行过程
4、SQL执行过程总结
Mybatis源码——内置数据源
1、内置数据源初始化过程
2、UnpooledDataSource
3、PooledDataSource
Mybatis源码——缓存机制
1、缓存类介绍
2、CacheKey
3、一级缓存
4、二级缓存
Mybatis源码——插件机制
- 插件机制原理
- 实现一个分页插件
Java高频面试专题合集解析:
当然在这还有更多整理总结的Java进阶学习笔记和面试题未展示,其中囊括了Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构资料和完整的Java架构学习进阶导图!
更多Java架构进阶资料展示
本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录