mybatis之delete标签
delete标签目前没什么好说的,并且这个标签在实际业务中使用的非常少。
因为对于真实业务来说,所有数据都是有价值的,不允许做硬删除,除非没业务的垃圾数据。
属性说明
id:和其它标签一样是唯一标志
简单示例
<delete id="deleteNodeById">
delete from t_node_agent where node_id=#{nodeId}
</delete>
唯一需要注意的,mysql删除写法比较奇葩,如果有别名的话。
<delete>标签与delete语句
delete语句
id
: sql片段在命名空间内的唯一标识.parameterType
: 参数类型,flushCache
: 是否刷新(清空)一级缓存和二级缓存, 默认为true. 使用默认即可.timeout
: sql执行超时时间, 默认未设置, 由数据库驱动决定.statementType
: 执行sql时使用的statement类型, 默认为PREPARED. 可选值为:STATEMENT,PREPARED 或 CALLABLE 的一个
<!-- 删除学生 -->
<delete id="deleteStudent" parameterType="StudentEntity">
DELETE FROM STUDENT_TBL WHERE STUDENT_ID = #{studentID}
</delete>
批量删除
<!-- 通过主键集合批量删除记录 -->
<delete id="batchRemoveUserByPks" parameterType="java.util.List">
DELETE FROM LD_USER WHERE ID in
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。