onetwothreeany
2017-09-29 00:18
采纳率: 100%
浏览 3.7k
已采纳

MyBatis if 不能判断属性的属性???

#{type.typeName}

比如 是bookInfo
下面的 属性 type 的
type有 get typeName的方法

但是sql里面正常替换
但是 if标签 test=里面写就不行
是不支持吗?

if test="type.typeName!=null and type.typeName!=''"

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • Tsui丶 2017-09-29 01:31
    已采纳

    if 判断是需要用 == 的 而不是 =

    打赏 评论
  • wal1314520 2017-09-29 01:18

    首先你要弄懂test里面写的是什么,其次你写在sql里面是什么样的,你就知道为什么不支持了
    因为你写在test里面的这个属性没有,你怎么会有效果

    打赏 评论
  • 钟舒艺 2020-05-16 12:45

    判断属性里面的属性的话要先判断这个对象属性是否存在,再去判断属性内的属性,就像这样

    <if test="user != null">
            <if test="user.username != null and user.username != ''">
                    and username like concat('%',#{user.username},'%')
            </if>
    </if>
    
    
    打赏 评论

相关推荐 更多相似问题