Mybatis
文章平均质量分 55
鲁彤
简简单单,写点东西。
展开
-
Mybatis(八)主要构件和相互关系
SqlSession 作为Mybatis工作得主要顶层API,维护数据交互得会话,增删改查Executor Mybatis 执行器,是Mybatis 调度得核心负责sql语句得生成和查询StatementHandler 封装了JDBC Statement操作负责对 JDBC Statement操作 例设置参数转换集合容器等ParameterHandler负责用户传递得参数转换成 JDBC Statement 所需要得参数ResultHandler负责将JDBC原创 2021-09-03 17:01:04 · 109 阅读 · 0 评论 -
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 · 89 阅读 · 0 评论 -
Mybatis(六)插件
插件Mybatis四大核心对象Executor mysql 执行器执行增删改查ParameterHander 处理Sql参数对象ResultSetHander 处理结果集StatementHander 处理数据库预处理对象Mybatis四大核心对象创建方法public ParameterHandler newParameterHandler(MappedStatement mappedStatement, Object parameterObject, BoundSql boundSql原创 2021-09-03 16:20:53 · 73 阅读 · 0 评论 -
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 · 65 阅读 · 0 评论 -
Mybatis(四)代理模式
Mybatis(三) 启动后拿到了 SqlSessionFactory获取openSessionpublic SqlSession openSession() { return this.openSessionFromDataSource(this.configuration.getDefaultExecutorType(), (TransactionIsolationLevel)null, false); }sqlSession//创建sqlsessinprivate原创 2021-09-03 16:11:50 · 61 阅读 · 0 评论 -
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 · 132 阅读 · 0 评论 -
Mybatis(二)加载策略及注解开发
MyBatis加载策略什么是延迟加载?就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载。优点:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表 速度要快。 *缺点:因为只有当需要用到数据时,才会进行数据库查询,这样在大批量数据查询时,因为查询工作也要消耗时 间,所以可能造成用户等待时间变长,造成用户体验下降。在多表中: 一对多,多对多:通常情况下采用延迟加载一对一(多对一):通常情况下采用立即加载 *注意:原创 2021-09-03 15:31:07 · 110 阅读 · 0 评论 -
Mybatis(一)基础使用
Mybatis 基本应用框架简介三层架构软件开发常用的架构是三层架构,之所以流行是因为有着清晰的任务划分。一般包括以下三层:持久层:主要完成与数据库相关的操作,即对数据库的增删改查。因为数据库访问的对象一般称为Data Access Object(简称DAO),所以有人把持久层叫做DAO层。业务层:主要根据功能需求完成业务逻辑的定义和实现。 因为它主要是为上层提供服务的,所以有人把业务层叫做Service层或Business层。表现层:主要完成与最终软件使用用户的交互,需要有交互界面(UI原创 2021-09-03 15:17:03 · 86 阅读 · 0 评论