随笔分类 -  Mybatis

摘要:Mybatis 提供了事物的顶层接口: 还有一个事物工厂: 对于这两个接口我们一般是不直接操作的,但是它的影响是实实在在的。毕竟作为一个 ORM 框架,事物的管理是少不了的。它的实现大致可以分为两类,非 Spring 相关的事物和基于 Spring 管理的事物。 非 Spring 相关 关于 Jdb 阅读全文
posted @ 2018-05-11 18:09 Lucare 阅读(162) 评论(0) 推荐(0)
摘要:一级缓存 其实关于 Mybatis 的一级缓存是比较抽象的,并没有什么特别的配置,都是在代码中体现出来的。 当调用 Configuration 的 newExecutor 方法来创建 executor: 默认的 executorType 是 ExecutorType.SIMPLE(SimpleExe 阅读全文
posted @ 2018-05-05 18:22 Lucare 阅读(127) 评论(0) 推荐(0)
摘要:解析封装 ResultMap 是和结果集相关的东西,最初在解析 XML 的时候,于 parseStatementNode 方法中,针对每一个 select 节点进行解析,转换为 MappedStatement(类似 Spring 的 bean 配置和 BeanDefinition 的关系)。 在 M 阅读全文
posted @ 2018-04-21 18:01 Lucare 阅读(449) 评论(0) 推荐(0)
摘要:MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。 默认情况下,可以使用插件来拦截的方法调用包括: Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed) 阅读全文
posted @ 2018-04-08 21:00 Lucare 阅读(340) 评论(0) 推荐(0)
摘要:Mybatis我们一般都是和Spring一起使用的,它们是怎么融合到一起的,又各自发挥了什么作用? 就拿这个Mapper来说,我们定义了一个接口,声明了一个方法,然后对应的xml写了这个sql语句, 它怎么就执行成功了?这家伙是怎么实现的,带着这个好奇心,我一步步跟踪,慢慢揭开了它的面纱。 一、初始 阅读全文
posted @ 2018-04-01 11:22 Lucare 阅读(430) 评论(0) 推荐(0)
摘要:不涉及Spring完整的启动流程,仅仅从Mybatis的视角去分析几个关键的方法,找到Mybatis是如何通过这几个扩展点植入进去的,反过来看Spring是如何设计,埋下这些伏笔,实现其可扩展性。 阅读全文
posted @ 2018-03-08 21:42 Lucare 阅读(298) 评论(0) 推荐(0)
摘要:Mybatis对参数的处理是值得推敲的,不然在使用的过程中对发生的一系列错误直接懵逼了。 以前遇到参数绑定相关的错误我就是直接给加@param注解,也稀里糊涂地解决了,但是后来遇到了一些问题推翻了我的假设:单个参数不需要使用 @param 。由此产生了一个疑问,Mybatis到底是怎么处理参数的? 阅读全文
posted @ 2018-03-06 22:17 Lucare 阅读(601) 评论(0) 推荐(0)
摘要:感觉CSDN对markdown的支持不够友好,总是伴随各种问题,很恼火! xxMapper.xml的解析主要由XMLMapperBuilder类完成,parse方法来完成解析: public void parse() { if (!configuration.isResourceLoaded(res 阅读全文
posted @ 2018-03-01 21:42 Lucare 阅读(737) 评论(0) 推荐(0)