数据库连接

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

相关推荐
仍然.14 分钟前
MYSQL--约束
数据库·mysql
乡野码圣38 分钟前
【RK3588 Android12】RCU机制
java·jvm·数据库
亓才孓1 小时前
[数据库]应该注意的细节
数据库·sql
m0_561359672 小时前
掌握Python魔法方法(Magic Methods)
jvm·数据库·python
xxxmine2 小时前
redis学习
数据库·redis·学习
qq_5470261792 小时前
Redis 常见问题
数据库·redis·mybatis
APIshop2 小时前
Java 实战:调用 item_search_tmall 按关键词搜索天猫商品
java·开发语言·数据库
小陈phd3 小时前
混合知识库搭建:本地Docker部署Neo4j图数据库与Milvus向量库
数据库·docker·neo4j
2401_838472513 小时前
使用Python进行图像识别:CNN卷积神经网络实战
jvm·数据库·python
知识即是力量ol3 小时前
基于 Redis 实现白名单,黑名单机制详解及应用场景
数据库·redis·缓存