mybatis笔记《1》

来源:互联网 发布:战网安装不了 传输数据 编辑:程序博客网 时间:2024/06/06 09:06
  1. #{}表示一个占位符 ,#{}接收输入参数,类型可以是简单类型,pojo、hashmap 如果接收简单类型,#{}中可以写成value或其他名称。
  2. #{}接收pojo对象值,通过OGNL读取对象中的属性值, 通过属性.属性.属性…的方式获取对象属性值
  3. ${}表示一个拼接符号,会引起sql注入 所以不建议使用${}
  4. ${}接收输入参数,类型可以是简单类型,pojo、hashmap
  5. 如果接收简单类型${}中只能写成value。
  6. ${}接收pojo对象值 ,通过OGNL读取对象中的属性值, 通过属性.属性.属性…的方式获取对象属性值

什么是延迟加载?
延迟加载:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度快

什么是查询缓存?
mybatis提供查询缓存,用于减轻数据压力,提高数据库性能
mybatis提供一级缓存和二级缓存

一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。

二级缓存是mapper级别的缓存,多个SqlSession去操作同一个Mapper的sql语句,多个SqlSession可以共用二级缓存,二级缓存是跨SqlSession的。

为什么要用缓存?
如果缓存中有数据就不用从数据库中获取,大大提高系统性能。

0 0
原创粉丝点击