数据库连接

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文件,则共享二级缓存作用域。

相关推荐
小江的记录本12 小时前
【MyBatis-Plus】Spring Boot + MyBatis-Plus 进行各种数据库操作(附完整 CRUD 项目代码示例)
java·前端·数据库·spring boot·后端·sql·mybatis
wanhengidc12 小时前
《三国志异闻录》搬砖新游戏 云手机
运维·服务器·数据库·游戏·智能手机
2301_8073671912 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python
2301_7957417912 小时前
构建一个基于命令行的待办事项应用
jvm·数据库·python
FITA阿泽要努力12 小时前
《实战SQL: GROUP BY》
数据库·sql
sw12138912 小时前
Python字典与集合:高效数据管理的艺术
jvm·数据库·python
ShiJiuD66688899912 小时前
mysql 基础笔记一
数据库·笔记·mysql
zzh08113 小时前
数据库初识与安装
数据库
m0_7380980213 小时前
使用Python操作文件和目录(os, pathlib, shutil)
jvm·数据库·python
AI成长日志13 小时前
【实用工具教程】数据库基础操作实战:SQLite/MySQL连接、CRUD操作与查询优化
数据库·mysql·sqlite