Mybatis 动态 SQL、缓存功能

本文详细介绍了Mybatis中的动态SQL技巧(set、trim和foreach),特殊符号处理(HTML转义和XML转义),以及缓存机制(一级缓存、二级缓存的作用、失效和配置)。还概述了Mybatis的架构图。
摘要由CSDN通过智能技术生成

目录

Mybatis 动态 SQL

1.set

2.trim

3. foreach

特殊符号处理

1.html转义字符

2.mybatis 中的 xml文件中的转义字符

Mybatis缓存功能

1.缓存作用

2.一级缓存

3.一级缓存失效

4.二级缓存

5.二级缓存的使用需要配置

Mybatis架构图

Mybatis 动态 SQL

1.set

set可以动态根据是否有条件成立添加set,可以去除最后的逗号

2.trim

trim(set  where)也可以实现,suffixOverrides可以去掉后面的逗号

3. foreach

  • 它可以在 SQL 语句中迭代一个集合
  • foreach元素的属性主要有 item,index,collection,open,separator,
  • close.item 表示集合中每一个元素进行迭代时的别名,index 指定一个名字,用于表示在迭代过程中,每次迭代到的位置,
  • open 表示该语句以什么开始,separator 表示在每次进行迭代之间以什么符号作为分隔符,close 表示以什么结束

特殊符号处理

1.html转义字符

  •  &lt;表示左半括号<
  • &qt;表示右半括号>
  • &nbsp;不换行空格
  • &copy;商标版权 ©
  • &reg;已注册®

2.mybatis 中的 xml文件中的转义字符

  • &lt;  <
  • &gt;  >
  • &quot;  "
  • &apos;  '
  • &amp;   &

除了可以使用上述转义字符外,还可以使用<![CDATAIII>来包裹特殊字符。<![CDATA[  ] ]>是XML 语法。在 CDATA 内部的所有内容都会被解析器忽略,尽量只将特殊符号写在里面。

Mybatis缓存功能

1.缓存作用

可以将数据缓存到内存、手机内存、客户端硬盘中,为了让程序更快的访问到数据,同时也是为了减少数据库的访问压力。

2.一级缓存

    mybatis提供一级缓存和二级缓存,默认开启一级缓存,一级是SqLsession级别的,当第一次查询数据时,将查到的结果封装到SqLsession对象中,在同一个sqlsession中执行相同的第二次查询时,直接从sqlsession中获取

3.一级缓存失效

  • sqlsession.close(); 销毁sqLSession对象
  • sqlSesslon,clearCache(); 主动清除缓存
  • 执行增删改操作会清除缓存的数据 

 

4.二级缓存

        mybatis二级缓存是SqlSessionFactory级别(只有一个),将查询到的数据如果放到二级缓存中,就可以实现多个sqLsession共享,当第一次查询到数据后,关闭sqlseesion时,将数据存入到二级缓存中

5.二级缓存的使用需要配置

<setting name="cacheEnabled” value="true"/>

<cache flushInterval="1000”></cache>

 模型类实现序列化接口

 

Mybatis架构图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值