数据库连接

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

相关推荐
在屏幕前出油1 分钟前
08. ORM——快速开始
数据库·后端·python·sql·pycharm·orm
lzhdim4 分钟前
SQL 入门 11:日期时间格式化、IF、CASE的使用
数据库·sql
dishugj5 分钟前
PSQL常见报错问题以及解决方案
数据库·postgresql
一个天蝎座 白勺 程序猿6 分钟前
时序数据库选型从迷茫到清晰:国产DolphinDB凭什么成为大数据场景下的首选?
大数据·数据库·时序数据库
逝水流痕Summer7 分钟前
PG触发器查询
数据库·postgresql
上海云盾-小余7 分钟前
Web 业务常见 SQL 注入攻击原理详解及 WAF 防护部署实战教程
前端·数据库·sql
唐骁虎8 分钟前
使用SQLAlchemy查询Pandas DataFrame
数据库·oracle·pandas
dishugj9 分钟前
在一台机器上启动多个PostgreSQL实例的方法
数据库·postgresql
qiuyunoqy11 分钟前
MySQL - 3 - mysqlcheck程序
数据库·mysql
Navicat中国13 分钟前
用 Navicat 来可视化 PostgreSQL GIS 数据,是否支持?
数据库·postgresql·gis·数据可视化·navicat