Mybatis开发流程
1.导入依赖
2.配置数据库信息:
添加一个mapper.xml,
sql语句 #{参数}
namespace:命名空间,引出虚拟的类位置;
id:sql语句的别称;
parameterType:参数类型;
resultType:返回对应的实体类位置;
然后在mybatis配置文件 注册mapper.xml
构建sqlsessionfactory工厂
SqlSeesionFactory sessionFactory=new SqlSessionFactoryBuilder().builder(文件的输入流);
sqlsessionfactory会话工厂就是对mybatis.xml进行解析
String statement=“命名空间+sql_id”; //知道执行那个sql
SqlSession session=sessionFactory.openSession();数据库会话对象
Mybatis的缓存机制:
Mybatis存在两级缓存
一级缓存与SqlSession会话绑定,默认开启:
将数据保存在内存中,巨大的HashMap,一个SqlSession对应一个HashMap对于一级缓存在sqlsession创建时创建,在sqlsession close的时候关闭,一级缓存存活时间较短。
二级缓存是应用全局缓存,所有SqlSession共享:
只要mybatis启动过程中,缓存就一直存在对于二级缓存的载体可以是内存HashMap、ehcach、redis,所有sqlsession都可以访问数据。随着Mybatis的sessionfactory的创建而创建,在sessionfactory销毁的时候会消失。缓存命中率更高。
缓存:就是将不常变更的数据保存内存或高速存储器,从而降低查询时间增快数据查询速度。
二级缓存需要手动来添加:
在mapper.xml中在mapper标签里面,添加
<cache size="" eviction=“FIFO 、LRU”, flushInterval="" readOnly=“true”/>
二级缓存需要对存储的对象实现Serializable接口
useCach是否使用缓存 在select等标签使用
size:缓存容量多少对象
eviction:用那些清除缓存算法 FIFO先进先出、LRU指定时间内使用最少先清除
flushInterval:定时清理缓存
readOnly="true"设置保存缓存设置只读,保证一致。