`
GlennZhou
  • 浏览: 32365 次
  • 性别: Icon_minigender_2
  • 来自: 珠海
社区版块
存档分类
最新评论

山寨级联删除

    博客分类:
  • J2EE
 
阅读更多
//删除国家的时候同时删除该国的省和城市
	public int deleteAllByLevelThree(String[] Ids){

		String tempMainIds = Arrays.toString(Ids).replaceAll("\\u005B", "").replaceAll("\\u005D", "");
		String subIds = ""; //provinces
		String subsubIds = ""; //cities
		
		String sqlstr = " from BaseTypeEntity where parentId in(" + tempMainIds +")";
		List<BaseTypeEntity> btypes = this.find(sqlstr);

		for(BaseTypeEntity btype : btypes){
			subIds += btype.getId().toString() + ",";
		}
		
		sqlstr = " from BaseTypeEntity where parentId in(" + subIds.substring(0, subIds.length()-1) +")";
		btypes = this.find(sqlstr);
		for(BaseTypeEntity btype : btypes){
			subsubIds += btype.getId().toString() + ",";
		}
		
		String deleteIds = "";
		if(!"".equals(tempMainIds)){
			deleteIds += tempMainIds + ",";
		}
		
		if(!"".equals(subIds)){
			deleteIds += subIds;
		}
		
		if(!"".equals(subsubIds)){
			deleteIds += subsubIds;
		}
		
		if(!"".equals(deleteIds)){
			deleteIds = deleteIds.substring(0, deleteIds.length()-1);
			sqlstr = "delete from BaseTypeEntity where id in ("+deleteIds+")";
		}
		
		Query query=this.getSession().createQuery(sqlstr);
		
		return query.executeUpdate();
	}

 

分享到:
评论

相关推荐

    qt实现sqlite3级联删除demo

    【标题】:“qt实现sqlite3级联删除demo” 在数据库管理中,级联删除是一种常见的功能,它允许在删除一个表中的记录时,自动删除与之相关联的其他表中的记录。在Qt环境下,结合SQLite3数据库,我们可以实现这一功能...

    SQL server创建触发器实现级联删除

    ### SQL Server 创建触发器实现级联删除 在数据库管理中,触发器是一种特殊类型的存储过程,它被设计为响应特定的事件(如插入、更新或删除数据)而自动执行。本文将详细介绍如何在 SQL Server 中创建一个触发器来...

    hibernate many-to-many级联保存,级联更新,级联删除

    本文将深入探讨如何在Hibernate中处理Many-to-Many关系的级联保存、级联更新和级联删除。 一、Many-to-Many关系基础 在数据库设计中,Many-to-Many关系意味着两个实体之间存在多对多的关系。例如,学生可以选修多门...

    用JDBC实现数据库的级联删除与更新

    根据给定文件的信息,本文将围绕“用JDBC实现数据库的级联删除与更新”这一主题进行深入探讨,包括理解需求、设计思路、具体实现步骤以及相关代码示例。 ### 1. 需求理解 #### 1.1 业务场景 在本案例中,存在两个...

    存储过程-游标-级联删除

    在数据库管理中,级联删除是一种常见的操作,它涉及到一个表中的记录被删除时,与之关联的其他表中的记录也会自动被删除。在大型数据库系统中,这种功能通常通过外键约束来实现,但在某些情况下,如需要自定义删除...

    级联删除笔记【自用0分】

    级联删除和级联更新是数据库管理中非常重要的概念,特别是在多表关联的情况下,能够确保数据的一致性和完整性。本文将详细介绍如何在SQL Server中实现级联更新和级联删除,包括通过触发器的方式和使用外键约束的方式...

    MSserver自关联表的级联删除

    然而,自关联表的级联删除并不像简单的外键级联删除那样直接,因为它涉及到了递归关系。 在上述标题和描述中提到的MS Server自关联表的级联删除,主要通过触发器来实现。触发器是一种特殊的存储过程,它会在特定的...

    mysql级联更新和级联删除

    ### MySQL级联更新与级联删除详解 在数据库设计中,外键约束是维护数据完整性和一致性的重要手段之一。MySQL的InnoDB存储引擎支持多种不同的处理外键的方式,包括级联更新(Cascade Update)和级联删除(Cascade ...

    MySQL中利用外键实现级联删除、更新

    "MySQL 中利用外键实现级联删除、更新" 在 MySQL 中,外键是指在一个表中的一列或多列,引用另一个表中的主键或唯一索引。外键可以强制实施数据的一致性和完整性,使得数据更加可靠。外键在 MySQL 中的实现主要是...

    cas.rar_MATLAB 级联失效_级联_级联失效 代码_级联失效代码_级联失效算法

    在IT领域,级联失效(Cascading Failure)是一种复杂的现象,特别是在网络系统中,如电力网格、互联网或通信网络。当一个组件故障时,它可能导致其他相关组件相继失效,从而引发大规模的系统崩溃。MATLAB作为一种...

    Oracle数据库中的级联查询、级联删除、级联更新操作教程

    Oracle数据库中的级联查询、级联删除和级联更新是数据库设计中常用的操作,它们用于在多表关联的关系型数据库中实现数据的联动处理。在Oracle中,这些操作主要涉及外键约束和触发器。 首先,级联查询是通过自连接来...

    级联菜单 级联菜单级联菜单级联菜单

    级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单...

    解析Oracle中多表级联删除的方法

    在Oracle数据库中,多表级联删除是一种常见的需求,特别是在数据关系复杂的环境中。级联删除允许在删除一个表中的记录时,自动删除依赖于该记录的其他表中的相关记录。以下将详细介绍三种在Oracle中实现多表级联删除...

    级联菜单 动态级联菜单

    级联菜单 动态级联菜单 级联菜单是一种常见的Web应用程序用户界面元素,它允许用户从多个选项中选择一个或多个项目。动态级联菜单是指可以根据实际情况动态生成选项的级联菜单。下面将对该技术进行详细的解释。 ...

    MySQL使用外键实现级联删除与更新的方法

    本篇文章将详细讲解如何使用外键在MySQL中实现级联删除和更新。 首先,要使用外键,数据库表必须使用支持外键的存储引擎,如InnoDB。InnoDB引擎提供了事务处理、行级锁定以及外键约束等功能,是实现这些级联操作的...

    SQL 级联删除与级联更新的方法

    本篇文章将详细讲解SQL中的级联删除(Cascade Delete)和级联更新(Cascade Update)。 **级联删除(Cascade Delete)** 级联删除是指在删除主表中的一条记录时,所有依赖于该记录的外键也将被自动删除。在创建表...

    级联字典的构造

    级联字典是一种在计算机科学和信号处理领域中常见的数据结构,特别是在图像处理、压缩编码和机器学习等应用中。这种字典构造方法是通过组合多个基础字典,以达到更丰富的表示能力和更高的编码效率。在本文中,我们将...

    关于Hibernate级联删除的问题.doc

    级联删除(Cascade Delete)就是其中之一,当删除一个对象时,会根据配置自动删除与之相关联的对象。在文档中提到的场景下,我们来详细探讨Hibernate级联删除的原理和配置方法。 首先,我们要理解关系映射中的几个...

    JavaScript小案例:级联列表.html

    级联的操作有级联更新,级联删除。 二、级联相应的操作 在启用一个级联更新选项后,就可在存在相匹配的外键值的前提下更改一个主键值。系统会相应地更新所有匹配的外键值。如果在表A中将姓名为王五的记录改为李四,...

    STM32 定时器级联

    STM32定时器级联是STM32微控制器中一种高效利用硬件资源、扩展定时功能的方法。在STM32系列芯片中,定时器可以被配置为级联模式,以实现更复杂的定时或计数任务,比如产生精确的PWM输出、高分辨率的计数等。下面我们...

Global site tag (gtag.js) - Google Analytics