关于sql语句的疑问

来源:3-5 mapper的编写

慕莱坞1326395

2018-03-30 14:50

不明白为什么<update>中的<set>中的<if test="areaName != null">是这样写,

为什么不是<if test="#{areaName} != null">?
写回答 关注

3回答

  • 翔仔
    2018-03-30 21:29:35

    同学好,你感兴趣的话可以试着那样写看能否奏效,有时候框架设计者要这样咱也没办法,要不就自己写个扩展改造一下,要不就只能遵从,其实不必纠结这个,学好原理一通百通。

  • Amoo丶怜悯
    2018-07-02 18:29:57

    应为mybatis里面的if是用的ognl所以 才会直接用属性吗比较

  • morosin
    2018-03-30 18:00:20

    个人认为,会有area_name=#{areaName}这种格式的意义就是为了让sql语句能够区分,area_name是原有的字段,#{}里面是用户添加的。而<if test>里面不需要区分原有的字段和用户添加的,它判断的对象就只有这个用户添加的,既然都能识别,就没必要写得那么复杂。

SpringBoot+MyBatis搭建迷你小程序

SpringBoot+MyBatis搭建小程序后台

91500 学习 · 621 问题

查看课程

相似问题