上一篇文章中,我们介绍了 SqlSessionFactory 的创建过程,忘记了的,可以回顾一下,或者看下下面这张图也行。 接下来,可乐讲给大家介绍 Mybatis 中另一个重量级嘉宾——SqlSession,有了这个对象,我们就能对数据进行一顿操作了。大家伙小板凳搬起来,请看可乐 ...
在上一篇博客中提到MyBatis是如何实现代理类MapperProxy,并抛出了一个问题 是怎么执行一个具体的sql语句的,在文末中提到了MapperMethod的execute采用命令模式来判断是何种sql语句,并将具体语句的执行交由SqlSession处理。所以此篇博客正是要讲到SqlSession。 在SqlSession接口中包含了所有可能执行的sql语句在这里不一一列举,请参考org. ...
2016-11-17 23:55 6 24460 推荐指数:
上一篇文章中,我们介绍了 SqlSessionFactory 的创建过程,忘记了的,可以回顾一下,或者看下下面这张图也行。 接下来,可乐讲给大家介绍 Mybatis 中另一个重量级嘉宾——SqlSession,有了这个对象,我们就能对数据进行一顿操作了。大家伙小板凳搬起来,请看可乐 ...
Main 方法,mybatis 版本为 3.5.0 返回一个 DefaultSQlSession 对象,包含 Executor 和 Configuration sqlSessionFactory.openSession ...
sqlSession,顾名思义,是一次sql的回话,它起到了承上启下的作用,这个类既维护了Configuration对象,又包含Executor对象,可以 执行jdbc操作,在mybatis体系中非常重要,下面我们来看一下这个类的源码: 1:sqlSession类的源码 ...
由之前解析可知,mybatis启动的时候会加载XML配置文件解析生成全局配置对象Configuration对象,SqlSessionFactoryBuilder类会根据Configuration对象创建一个DefaultSqlSessionFactory对象 ...
mybatis框架在操作数据的时候,离不开SqlSession接口实例类的作用。可以说SqlSession接口实例是开发过程中打交道最多的一个类。即是DefaultSqlSession类。如果笔者记得没有错的话,早期是没有什么getMapper方法的。增删改查各志有对应的方法进行操作。虽然现在改进 ...
SqlSession可以说是整个MyBatis的重中之重,在SqlSession中涉及到前一篇四大对象:Executor、StatementHandler、ParameterHandler、ResultHandler,所以在此先只对SqlSession有一个大概的了解。 在代码中我们可以看到当我 ...
在前面两篇的MyBatis源码解读中,我们一路跟踪到了MapperProxy,知道了尽管是使用了动态代理技术使得我们能直接使用接口方法。为巩固加深动态代理,我们不妨再来回忆一遍何为动态代理。 我相信在初学MyBatis的时候几乎每个人都会发出一个疑问,为什么明明是XXXDao接口,我没有用 ...
工欲善其事,必先利其器 在使用MyBatis Generator 的时候生成的XML的Mapper文件总是不尽人意,例如在处理JdbcType为VARCHAR类型是只做null判断,在Update的时候就会出现一些不符合要求的作用不会做空字符串判断,利用剩余时间研究了一下源代码 ...