核心组件 SqlSessionFactoryBuilder (构造器) 根据配置信息(eg:mybatis-config.xml)或者代码来生成SqlSessionFactory。 SqlSessionFactory(工厂接口) 依靠工厂来生成SqlSession SqlSession(类似于JDB ...
分类:
其他好文 时间:
2018-04-03 22:10:56
阅读次数:
151
mybatis提供查询缓存,用于减轻数据库压力,提高性能。 一级缓存 一级缓存是sqlSession级别的,不同sqlSession之间的缓存数据区域相互不影响。在构造session对象时使用HashMap数据结构的内存区域存储缓存数据。 一级缓存默认是开启的。 sqlSession执行commit ...
分类:
其他好文 时间:
2018-04-03 12:44:43
阅读次数:
153
转自http://blog.csdn.net/qq_29227939/article/details/52029065 首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问 ...
分类:
数据库 时间:
2018-03-27 16:40:54
阅读次数:
176
普通模式 自定义接口,接口实现类。 思考:需要sqlSessionFactory,生产sqlSession。 UserDao: UserDaoImpl: Main3: 接口代理开发模式 自需要定义接口。 开发约定: l 映射文件namespace必须是接口全类路径名。 l 映射文件的Statemen ...
分类:
其他好文 时间:
2018-03-20 00:41:30
阅读次数:
207
今天配置mybatis的时候,遇到一个很粗心的错误,找了很久才找出来 Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession.### The ...
分类:
数据库 时间:
2018-03-19 20:54:35
阅读次数:
411
关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候,如果判断先前有个完全一样的查询,会直接从缓存中直接将结果取出,返回给用户,不需要再进行一次数据库查 ...
分类:
其他好文 时间:
2018-03-13 21:05:16
阅读次数:
103
1.1 整合思路 1、SqlSessionFactory对象应该放到spring容器中作为单例存在。 2、传统dao的开发方式中,应该从spring容器中获得sqlsession对象。 3、Mapper代理形式中,应该从spring容器中直接获得mapper的代理对象。 4、数据库的连接以及数据库连 ...
分类:
移动开发 时间:
2018-03-02 20:43:02
阅读次数:
204
运行步骤: 1.Mybatis的全局配置文件中配置事务管理,连接池,缓存等 2.获得sqlSessionFactory对象 3.获得sqlSession对象 4.获得接口的代理对象(MapperProxy) 5.运行增删改查的方法。 ...
分类:
其他好文 时间:
2018-03-02 12:27:33
阅读次数:
125
一级缓存: 也称本地缓存,sqlSession级别的缓存。一级缓存是一直开启的;与数据库同一次会话期间查询到的数据会放在本地缓存中。 如果需要获取相同的数据,直接从缓存中拿,不会再查数据库。 一级缓存失效的四种情况: 1.sqlSession不同。 2.sqlSession相同,查询条件不同。因为缓 ...
分类:
数据库 时间:
2018-02-25 14:29:17
阅读次数:
206
一,为什么session.commit()可以引起事务的提交? 进入commit()方法查看源码 进入SqlSession.class文件之后,Ctrl+H弹出右边的框,选择DeFaultSqlSession 找到COMMIt()方法的重载,ctrl+左键进入源码进行下一步的剖析 在最底层的comm ...
分类:
其他好文 时间:
2018-02-24 20:49:41
阅读次数:
206