mysql动态update语句_Mybatis中的update动态SQL语句Mybatis中的CRUD操作(增删改查)中,简单的SQL操作⽐较直观,如查操作:
SELECT * FROM ENTITY_RELATION WHERE SRC_ID=#{srcId}
其中id对应同名java⽂件中的⽅法,resultMap对应的⾃定义的数据类型(当使⽤java⾃带类型就更容易了,⽐如java.lang.String之类的)。
但是涉及到更新操作时,可能不需要对所有字段更新,这时不需要更新的字段需要保持原字段信息,当使⽤以下信息就会报错:
update ENTITY_RELATION SET SRC_ID=#{srcId},SRC_TYPE=#{srcType},DEST_ID=#{destId},
DEST_TYPE=#{destType},REL_TYPE=#{relType},STATUS=#{status},SN_ID=#{snId}
where id=#{id}
因为不更新的字段,会被传递null到SQL中,引起异常。
sql中update什么意思这时就需要进⾏动态SQL拼接,如下,使⽤trim就是为了删掉最后字段的“,”。
主要不⽤单独写SET了,因为set被包含在trim中了:
UPDATE ENTITY_RELATION
SRC_ID=#{srcId},
SRC_TYPE=#{srcType},
DEST_ID=#{destId},
DEST_TYPE=#{destType},
REL_TYPE=#{relType},
STATUS=#{status},
SN_ID=#{snId},
WHERE id=#{id}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论