MyBatis(-)

刚开始学习Mybatis,试写一个例子:

工程结构

 

 

 

 

映射文件

 

 

 

 

 

 

 

 

测试类:

 

 

 

 

 

理一下流程:

根据配置文件获取到SqlSessionFactory,再通过SqlSessionFactory. openSession()获取到数据库操作对象sqlsessionsession.getMapper(UserDao.class)可以得到接口的一个实现类,等到执行实现类中的方法时,会使用JDBC执行配置文件中的sql语句,执行成功后根据返回结果通过反射给实体类设置属性。

 

 

缓存:

<!--[if !supportLists]-->1、  <!--[endif]-->映射文件中的select语句将会被缓存;

<!--[if !supportLists]-->2、  <!--[endif]-->其他语句会刷新缓存

<!--[if !supportLists]-->3、  <!--[endif]-->缓存使用LRULeast Recently Used)算法来回收

<!--[if !supportLists]-->4、  <!--[endif]-->缓存会根据指定的时间间隔来刷新

<!--[if !supportLists]-->5、  <!--[endif]-->缓存会存储1024个对象



 

缓存分为一级缓存和二级缓存:

一级缓存为sqlsession级别的:执行了查询语句就会缓存,查询条件相同才会使用缓存

二级缓存为SqlSessionFactory级别的:session.commit()之后才会缓存,查询条件相同才会使用缓存

猜你喜欢

转载自312252916.iteye.com/blog/2205089