我收到动态查询错误。这是我的查询:
<dynamic>
    select * from Tbl_Member
    WHERE
    <isNotNull property="FirstName">
      FIRST_NAME = #lastName#
    </isNotNull>
    <isNotNull prepend="and" property="lastName">
      LAST_NAME = #lastName#
    </isNotNull>
    <isNotNull prepend="and" property="">
    </isNotNull>
     .
     .
     .
     .
</dynamic>
如果属性FirstName不为空,则查询有效。但是,如果该属性为空且另一个左侧属性LastName不为空,则会出现 SQL 错误。
因为在这种情况下,SQL 语句变为如下:
  select * from Tbl_Member WHERE AND LAST_NAME = ? ...
如果第AND一个属性变为Null
PS:
我也试过removeFirstPrepend="true" 
<isNotNull prepend="and" property="lastName" removeFirstPrepend="true">
  LAST_NAME = #lastName#
</isNotNull>
但不幸的是,它也不起作用。