我希望从ibatis 2.0更改此内容
UPDATE AccountData SET
StatisticAccountingUnits= <isNotNull property="statisticAccountingUnits">#statisticAccountingUnits#</isNotNull> <isNull property="statisticAccountingUnits">null</isNull>,
TotalStatisticDays= <isNotNull property="totalStatisticDays">#totalStatisticDays#</isNotNull> <isNull property="totalStatisticDays">null</isNull>,
<dynamic>
<isNotNull property="unitPrice" prepend=", ">UnitPrice = #unitPrice#</isNotNull>
<isNotNull property="settlementAnnexNumber" prepend=", ">SettlementAnnexNumber = #settlementAnnexNumber#</isNotNull>
</dynamic>
WHERE AccountDataID=#accountDataId#
到Mybatis版本3.2.7
答案 0 :(得分:0)
你可以看一下 - http://mybatis.github.io/mybatis-3/dynamic-sql.html
顺便说一下,你不需要像
这样的代码 <isNotNull property="statisticAccountingUnits">#statisticAccountingUnits#</isNotNull> <isNull property="statisticAccountingUnits">null</isNull>
使用#{statisticAccountingUnits,jdbcType = NUMERIC} http://mybatis.github.io/mybatis-3/sqlmap-xml.html#Parameters
对于所有可为空的列,JDBC都需要JDBC Type,如果为null 作为一个值传递。您可以通过阅读来自行调查 PreparedStatement.setNull()方法的JavaDocs。