本文共 1089 字,大约阅读时间需要 3 分钟。
Configuration、SqlSessionFactory、Session、Executor、MappedStatement、StatementHandler、 ResultSetHandler
名称 | 作用 |
---|---|
Configuration | 管理 mysql-config.xml全局关系类 |
sqlSessionFactory | session管理工厂接口 |
session | sqlSession面向用户,提供多种操作数据库的方法 |
Executor | 执行器是一个接口(基本执行器,缓存执行器),作用:sqlSession内部通过执行器操作数据库 |
MappedStatement | 底层封装对象,作用:对操作数据库内存封装,包括sql语句,输入输出参数 |
statementHandler | 具体操作数据库效果handler接口 |
ResultSetHandler | 具体操作数据库返回结果handler 接口 |
mybatis 中的其他概念:
名称 | 作用 |
---|---|
annotations | 注解相关 比如 select insert |
binding | mapper相关 |
builder | 解析xml相关 |
cache | 缓存 |
cursor | 返回结构 resultSet |
datasourcer | 数据管理 |
exceptonsr | 异常 |
executorr | 执行器 |
io | classLoader |
jdbc | 操作 jdbc |
logging | 日志相关 |
mapping | mapper相关的封装 |
parsing | xml相关解析 |
plugin | 拦截器(比如加点分页查询,打印sql之类的) |
reflection | 反射相关 |
scripting | 数据厂家 |
transaction | 事务 |
type | 返回类型对应 |
mybatis 一级缓存
每次创建和数据库的一次会话,mybatis 会创建一个 sqlSession对象表示一次数据库会话,一次会话过程中,可能会反复执行相同的查询语句,很多的时间内做重复查询,那么结果很可能完全相同,浪费资源,因此,缓存适合用作 写少读多的情况 为了减少资源浪费,每次会话,sqlsession 会建立一个简单的缓存,查询结果缓存起来,下次查询,如果判断先前查询完全一样,直接从缓存取出来,返回给用户,就不连接数据库了cache key: id+sql+limit+offset …
mybatis 其他概念
转载地址:http://qxuzi.baihongyu.com/