
mybatis
varyall
这个作者很懒,什么都没留下…
展开
-
JPA freemaker动态的拼接SQL
spring-data-jpa-extra https://github.com/slyak/spring-data-jpa-extra spring-data-jpa-template 项目地址:https://gitee.com/silentwu/spring-data-jpa-template.git原创 2019-11-13 05:43:20 · 659 阅读 · 0 评论 -
MyBATIS原理第三篇: SqlSession下的四大对象之一——执行器(executor)
首先我先解释一下标题 四大对象是指:executor, statementHandler,parameterHandler,resultHandler对象。(为了方便下面的文章说道四大对象就专指它们) 它们都是sqlSession的底层类实现,也是插件能够拦截的四大对象。所以这里已经触及了MyBATIS的底层,动态代理,反射随时可以看到,如果没有第一篇作为基础,你将十分难以理解它。了解他们的转载 2017-12-11 18:45:24 · 846 阅读 · 0 评论 -
mybatis 加载顺序
1、加载配置文件,解析配置文件,MyBatis基于XML配置文件创建Configuration对象的过程 2、SqlSessionFactoryBuilder根据传入的数据流生成Configuration对象,然后根据Configuration对象创建默认的SqlSessionFactory实例。创建SqlSessionFactoryBean,生产出来sqlSession, 3、SqlSess原创 2017-12-11 18:33:03 · 7554 阅读 · 0 评论 -
Mybatis如何根据mapper接口生成其实现类
一、序mybatis里头给sqlSession指定执行哪条sql的时候,有两种方式,一种是写mapper的xml的namespace+statementId,如下:public Student findStudentById(Integer studId) { logger.debug("Select Student By ID :{}", studId); Sql...转载 2018-06-22 22:50:01 · 4549 阅读 · 0 评论 -
mybatis面试总结(1)——介绍mybatis
如果面试官直接让我介绍mybatis,我将从以下几个方面去介绍这个框架: 1.mybatis是什么? mybatis是一个优秀的持久层框架,他对jdbc操作数据库的过程进行了封装,使开发着只用关注sql本身,不用去关注例如注册驱动,加载链接,得到statement,处理结果集等复杂的过程。 mybatis通过xml或者注解的方式,将要执行的各种sql语句配置起来,并通过Java对象和state...转载 2018-07-20 09:41:01 · 553 阅读 · 0 评论 -
Mybatis底层原理总结(一)
本文适合对Mybatis有一定了解的。 1. Mybatis 读取XML配置文件后会将内容放在一个Configuration类中,Configuration类会存在整个Mybatis生命周期,以便重复读取。SqlSessionFactoryBuilder会读取Configuration类中信息创建SqlSessionFactory。 2. Mybatis中SqlSessionFactio...转载 2018-07-20 09:43:36 · 1399 阅读 · 0 评论 -
MyBatis学习总结(七)——Mybatis缓存
一、MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该Session中的所有 Cache 就将清空。 2. 二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCa...转载 2018-08-28 22:48:30 · 134 阅读 · 0 评论 -
《深入理解mybatis原理》 MyBatis事务管理机制
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/u010349169/article/details/37992171 MyBatis作为Java语言的数据库框架,对数据库的事务管理是其非常重要的一个方面。本文将讲述MyBatis的事务管理的实现机制。首先介绍MyBatis的事务Transaction的接口设计以及其不同实现JdbcTran...原创 2018-08-28 22:59:13 · 587 阅读 · 0 评论 -
mybatis一级缓存(session cache)引发的问题
问题回顾 最近项目功能单元测试中,出现了一个奇怪的bug。远程调试发现,程序进行了2次相同的查询,返回了实体类(ClassA)的2个对象:classAInstance1和classAInstance2,当修改classAInstance1.property1时,竟然classAInstance2.property1也被改了!!! 很快发现classAInstance1和classAInstanc...转载 2018-08-28 23:01:34 · 877 阅读 · 0 评论