数据库连接

JDBC原生

1.通过Driver对象加载驱动

2.获取连接对象Connection

3.通过连接对象获取执行者Statement或者PrepareStatement

4.执行完成后获取Result对象

5.关闭连接

Mybatis

1.基于MyBatis的配置信息,创建一个SqlSessionFactory实例。SqlSessionFactory是线程安全的,可以被多个线程共享。

2.过SqlSessionFactory实例,可以创建SqlSession。(SqlSessio相当于原生的Connection)每个线程都应该拥有自己的SqlSession实例。

3.有了SqlSession相当于一次会话,根据SqlSession得到Mapper对象就可以执行对应的方法了。

Mybatis缓存

1.一级缓存:针对于SqlSession,在一次会话之内,重复的查询,如果期间没有进行修改,会直接返回结果。(分布式环境容易导致bug,因为别的模块对数据修改了,重复查询会返回脏数据)通过修改配置文件就可以关闭了。

2.二级缓存:二级缓存使用的是mapper的作用域,不同的SqlSession只要访问的同一个mapper.xml文件,则共享二级缓存作用域。

相关推荐
编程修仙17 分钟前
第十一篇 Spring事务
xml·java·数据库·spring
绝顶少年17 分钟前
Redis 高可用架构三部曲:主从复制、哨兵模式与集群模式深度解析
数据库·redis·架构
倔强的石头10629 分钟前
从 Oracle 到 KingbaseES:破解迁移痛点,解锁信创时代数据库新可能
数据库·oracle·金仓数据库
2301_8002561131 分钟前
8.3 查询优化 核心知识点总结
大数据·数据库·人工智能·sql·postgresql
三七吃山漆1 小时前
攻防世界——supersqli
数据库·网络安全·web·ctf
零日失眠者1 小时前
【Oracle入门到删库跑路-08】核心技能:用户和权限管理
数据库·oracle
我科绝伦(Huanhuan Zhou)1 小时前
Oracle控制文件、SCN与检查点机制深度解析及数据库初始化原理
运维·数据库·oracle
cui_win1 小时前
MySQL max_connections连接数配置没生效,最终靠改这个参数解决
数据库·mysql
爱吃面条的猿1 小时前
DBeaver 全能数据库管理工具的使用配置
数据库·dbeaver
杨云龙UP2 小时前
从0到可落地:Oracle RMAN异地NFS备份标准脚本(多实例通用)
linux·运维·数据库·oracle