mybatis之delete标签
delete标签目前没什么好说的,并且这个标签在实际业务中使用的非常少。
因为对于真实业务来说,所有数据都是有价值的,不允许做硬删除,除非没业务的垃圾数据。
属性说明
id:和其它标签一样是唯一标志
简单示例
1
2
3
|
< 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 的一个
1
2
3
4
|
<! -- 删除学生 --> < delete id= "deleteStudent" parameterType= "StudentEntity" > DELETE FROM STUDENT_TBL WHERE STUDENT_ID = #{studentID} </ delete > |
批量删除
1
2
3
4
5
6
7
|
<! -- 通过主键集合批量删除记录 --> < 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 > |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_38280568/article/details/102673062