- 博客(8)
- 收藏
- 关注
原创 Mybatis(八)主要构件和相互关系
SqlSession 作为Mybatis工作得主要顶层API,维护数据交互得会话,增删改查Executor Mybatis 执行器,是Mybatis 调度得核心负责sql语句得生成和查询StatementHandler 封装了JDBC Statement操作负责对 JDBC Statement操作 例设置参数转换集合容器等ParameterHandler负责用户传递得参数转换成 JDBC Statement 所需要得参数ResultHandler负责将JDBC
2021-09-03 17:01:04
134
原创 Mybatis(七)延迟加载
延迟加载MyBatis 结果集在ResultSetHandle 实现类的方法 handleResultSetsDefaultResultSetHandler public List<Object> handleResultSets(Statement stmt) throws SQLException { ErrorContext.instance().activity("handling results").object(this.mappedStatement.getId())
2021-09-03 16:26:00
115
原创 Mybatis(六)插件
插件Mybatis四大核心对象Executor mysql 执行器执行增删改查ParameterHander 处理Sql参数对象ResultSetHander 处理结果集StatementHander 处理数据库预处理对象Mybatis四大核心对象创建方法public ParameterHandler newParameterHandler(MappedStatement mappedStatement, Object parameterObject, BoundSql boundSql
2021-09-03 16:20:53
109
原创 Mybatis(五)一二级缓存
一级缓存直接进执行器 BaseExecutor query方法因为最终还是会进执行器 查询方法public <E> List<E> query(MappedStatement ms, Object parameter, RowBoundsrowBounds, ResultHandler resultHandler) throws SQLException { BoundSql boundSql = ms.getBoundSql(parameter); //组装
2021-09-03 16:17:44
93
原创 Mybatis(四)代理模式
Mybatis(三) 启动后拿到了 SqlSessionFactory获取openSessionpublic SqlSession openSession() { return this.openSessionFromDataSource(this.configuration.getDefaultExecutorType(), (TransactionIsolationLevel)null, false); }sqlSession//创建sqlsessinprivate
2021-09-03 16:11:50
87
原创 Mybatis(三)之启动
简介mybatis核心业务就是将配置好的xml文件 解析成一个大的Configuration对象该对象存储了解析xml配置好的属性 方便我们使用解析mybatis-config.xml入口 SqlSessionFactoryBuilder.build public SqlSessionFactory build(Reader reader, String environment, Properties properties) { SqlSessionFactory var5; tr
2021-09-03 15:58:26
161
原创 Mybatis(二)加载策略及注解开发
MyBatis加载策略什么是延迟加载?就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载。优点:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表 速度要快。 *缺点:因为只有当需要用到数据时,才会进行数据库查询,这样在大批量数据查询时,因为查询工作也要消耗时 间,所以可能造成用户等待时间变长,造成用户体验下降。在多表中: 一对多,多对多:通常情况下采用延迟加载一对一(多对一):通常情况下采用立即加载 *注意:
2021-09-03 15:31:07
150
原创 Mybatis(一)基础使用
Mybatis 基本应用框架简介三层架构软件开发常用的架构是三层架构,之所以流行是因为有着清晰的任务划分。一般包括以下三层:持久层:主要完成与数据库相关的操作,即对数据库的增删改查。因为数据库访问的对象一般称为Data Access Object(简称DAO),所以有人把持久层叫做DAO层。业务层:主要根据功能需求完成业务逻辑的定义和实现。 因为它主要是为上层提供服务的,所以有人把业务层叫做Service层或Business层。表现层:主要完成与最终软件使用用户的交互,需要有交互界面(UI
2021-09-03 15:17:03
122
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人