mybatis定义sql语句标签之delete标签解析

 更新时间:2022年03月11日 11:18:52   作者:JDIT  
这篇文章主要介绍了mybatis定义sql语句标签之delete标签解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论