-
mybatis #和$的区别
#:预编译,防止sql注入
$: 占位符,无法防止sql注入 -
mybatis核心概念:
configuration:全局配置类
sqlSessionFactory:session管理工厂类
sqlSession:数据库操作类
Excutor:执行器
mappedSatement:底层封装对象,对操作数据库数据存储
封装,包括sql语句,输入输出参数
StatementHandler:具体操作数据库的handler接口
ResultSetHandler:具体操作数据库返回结果的handler接口 -
mybatis执行流程
(1),sqlSessionFactoryBuilder—parse解析—》configuration
(2),configuration—build—》sqlsessionFactory
(3),sqlSessionFactory—openSession–>sqlsession
(4), sqlSession—query–>Executor
(5), Excutor----new StatementHandler —》statementHandler
(6),statementHanler —handleResultSets—>ResultSetHandler -
mybatis 缓存机制
(1)一级缓存:默认开着,session级别,当namespace,id,参数一致时走一级缓存 ,问题:作用域只是session级别,无法全局
(2)二级缓存:二级缓存需要配置,是全局的,二级缓存使用redis实现
Mybatis(1)
最新推荐文章于 2024-08-12 15:45:48 发布