java代码删除数据库中树形结构数据
来源:互联网 发布:天猫淘宝内部券优惠群 编辑:程序博客网 时间:2024/04/25 10:26
在网上搜查了很多关于删除树形结构的文章,结果找到的都是一些简单的就删除2级目录的操作,完全没有删除嵌套多层的代码,介于此原因,就编写的如下代码,来删除嵌套多层的树形结构
eg:数据库代码
CREATE TABLE mytest
(
f_id NUMBER ,
z_id NUMBER,
m_name varchar2(20)
)
INSERT INTO mytest VALUES (1,1,'小小');
INSERT INTO mytest VALUES (2,1,'小红');
INSERT INTO mytest VALUES (3,2,'小青');
INSERT INTO mytest VALUES (4,2,'小佳');
INSERT INTO mytest VALUES (5,3,'小南');
INSERT INTO mytest VALUES (6,4,'小心');
INSERT INTO mytest VALUES (7,7,'信心');
INSERT INTO mytest VALUES (8,6,'嘻嘻');
INSERT INTO mytest VALUES (9,6,'哈哈');
java代码
public class Test {
DBConnection dbConnection = new DBConnection();
private Connection coon;
private PreparedStatement ps;
private ResultSet rs;
/变量list1来存放最终的删除数据所使用的条件f_id(在下面的方法中);
private void GetAllChildNodeId(List<Integer> list) {
List<Integer> list1 = new ArrayList<Integer>();//定义一个局部list1,来存放每次查询的数据,来作为条件,进行下次查询
coon = dbConnection.getConnection();//连接数据库,另一个类文件就省略了
String sql = "select f_id from mytest where z_id=?";
try {
for(Integer parent :list){
ps = coon.prepareStatement(sql);
ps.setInt(1, parent);
rs = ps.executeQuery();
while(rs.next()){
list1.add(rs.getInt(1));
}
}//下面要写一个判断语句,否则会进入死循环
if(list1.size()==0){
System.out.println("wancheng");
}else {
GetAllChildNodeId(list1);//进入递归方法
}
for(int parent :list1){
System.out.print(parent+" list1 ");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
//下面进行测试,结果在上面的方法中通过for循环遍历,结果为(3,4,5,6,8,9)
public static void main(String[] args) {
Test test = new Test();
List<Integer> list = new ArrayList<Integer>();
list.add(2);
test.GetAllChildNodeId(list);
}
}
- java代码删除数据库中树形结构数据
- SQL2000数据库中树形结构的数据查询
- java拼接树形结构数据
- oracle 删除级联树形结构数据
- Java递归删除树形结构父节点
- 数据库表设计系列:树形结构数据
- 常见数据库设计 — 树形结构数据
- 数据库存储树形结构的数据
- 数据库存储树形结构的数据
- 数据库存储树形结构的数据
- java 删除mysql数据库中表格数据
- 关系数据库中存储树形结构
- oracle 中 树形结构数据的实现
- java 生成 树形结构数据(tree)
- SQL删除树形结构
- 树形结构-树形结构的数据存储与数据库表设计
- java中删除数据库中重复数据的几个方法
- java中删除数据库中重复数据的几个方法
- java复习2
- mtd-utils交叉编译mkjfs.jffs2
- c++ using namespace::name;
- ubuntu查看已经安装程序的命令
- Quest 3d中Lua script中常用方法2
- java代码删除数据库中树形结构数据
- mysql root密码忘掉
- CentOS系统设置和LAMP
- CString转string在unicode的情况下方法不同
- 一个C++中智能指针的设计
- 两种内存碎片
- 计算给定两点的法向量
- cookie的操作
- Ad hoc update to system catalogs is not supported. 解决方案