用JAVA如何来查询数据库里面相关的数据

来源:百度知道 编辑:UC知道 时间:2024/05/05 18:49:56
id name pid
1 南京
2 鼓楼区 1
3 下关区 1
4 大厂区 1
6 鼓楼区XX1 2
7 鼓楼区XX2 2
8 大厂区XX1 4
9 北京
10 北京朝阳区 9

我输入id=1那么就能够查到
1 南京
2 鼓楼区 1
3 下关区 1
4 大厂区 1
6 鼓楼区XX1 2
7 鼓楼区XX2 2
8 大厂区XX1 4

输入id=2
2 鼓楼区 1
6 鼓楼区XX1 2
7 鼓楼区XX2 2

输入id=9
9 北京
10 北京朝阳区 9
如何针对以上问题编制JAVA程序
谢谢各位的答案,但是我试了下,好像只能得到部分结果,例如:select * from mytable where id = 1 or pid = 1 得到的结果如下:
id name pid
1 南京
2 鼓楼区 1
3 下关区 1
4 大厂区 1
以下结果还是不能得到啊
6 鼓楼区XX1 2
7 鼓楼区XX2 2
8 大厂区XX1 4

你的意思就是根据id 找数据本身以及他的叶子节点。 假设你的表叫location
rs : ResultSet stmt: Statement

public ResultSet getLocation(int id) {
String sql = "select id, name, pid from location where id = " + id + "or pid = " + id;

rs = stmt.executeQuery(sql);
}

用jdbc喽
public static void main(String[] args) {

/*
* 获得配置库的dburl,dbDriver
*/
String dbUrl="jdbc:informix-sqli://localhost:8898/test2:INFORMIXSERVER=onjz1;user=aaa;password=bbb;LANG=en_US";
String dbDriver="com.informix.jdbc.IfxDriver";
String selectSql="select id,name,pid from 表 where id=?";
Connection conn=null;
//Statement ps=null;
int j=0;
try{
DriverManager.registerDriver((Driver)Class.forName(dbDriver).newInstance());
conn=DriverManager.getConnection(dbUrl);

ResultSet rs = stmt.executeQuery(selectSql);