2019.7.9

2019/7/23 19:23:14 人评论 次浏览 分类:学习教程

文章目录

  • 心得体会
    • 新事物
      • posetman的简单实用
    • 接口用时测试中的一些截图,保存
    • Mybatis之动态SQL
      • 元素
        • 用处:
      • 模糊查询
      • SQL标签
      • 日志:log4j
    • XML映射文件
      • cache(缓存)

心得体会

新事物

posetman的简单实用

接口用时测试中的一些截图,保存

1562675594651

1562675601181

1562675618999

Mybatis之动态SQL

元素

  • if:判断

  • choose(when,otherwise)

    • choose-otherwise
  • trim(where,set)

    • where可以消除掉多余的SQL语句中and,但是and只能放在前面
    • set可以消除SQL语句中多余的逗号,但是逗号是后置的逗号
    • trim功能更加全面,前缀后缀都能实现
  • foreach:

    collection描述集合list、set、map;open是后面的SQL语句的拼接以什么为开头;close是以什么结尾;item是数据项中的一个代号;seprator 是item直接的分隔符;index如果需要使用标号,也可以使用

    1562635984621

参考视频链接:SSM教程

用处:

  • 实现多条件查询语句

1562635241753

  • 根据传入对象动态的修改其中的值,如果摸个字段传入的非控制,再去修改,否则不修改,where后面条件使用ID作为条件

模糊查询

#{}表达式不支持拼接%(SQL模糊查询需要用到like%)

错误表达方式:

1562636532160

  • 解决方案一:在测试类里面加%

  • 解决方案二:通过MySQL函数实现:concat(’%’,${},’%’)

    • 解决方案三:通过bind标签,对我们的变量重新进行绑定,然后通过新绑定的变量进行引用即可

    1562636615736

SQL标签

将最常用的列,抽取成为一个SQL片段,目的是被别人引用

<sql id="baseColumn">
	country,state,city
</sql>

1562637105304

日志:log4j

XML映射文件

cache(缓存)

Mybatis 3中的缓存实现的很多改进都已经实现,使得它更加强大,默认情况下是没有开启缓存的,除了局部的session缓存(一级缓存),可以增强变现而且处理循环依赖也是必须的。要开启二级缓存,需要在SQL映射文件中添加不过要先设置chcheEnable=true

mapper配置如下:

<cache
	eviction="FIFO"
    flushInterval="60000"
    size="512"
    readOnly="true"/>

缓存之前要序列化

1562639550757

查询2次,只有一个SQL语句,说明利用了缓存。

  • 如果开启了二级缓存,先去二级缓存当中尝试命中
  • 如果无法命中,则尝试去一级缓存当中命中
  • 还不命中,再去数据库查询

一级缓存是会话级别,因此只有在同一个会话当中才会生效

但是在下面情况也会失效

  • 【缓存失效方式一】:如果查询之后进行了增删改的行为

  • 【缓存失效方式二】:强制清空缓存clearcache

相关资讯

    暂无相关的资讯...

共有访客发表了评论 网友评论

验证码: 看不清楚?
    -->