
JDBC
AI-摘要
GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
- 【核心语句】
DatabaseMetaData metaData = conn.getMetaData();
ResultSet rs= metaData.getColumns(null, null, tablename+"%", null);
- 重点是第二句的第三参数,如果置空就不分表了,那不是我们想看到的,于是将表名加上通配符%限制一下表的范围,再这样限制表:
while (rs.next()) {
String tbName = rs.getString("TABLE_NAME"); // 表名
if(tbName.equalsIgnoreCase(tablename)){
String columnName = rs.getString("COLUMN_NAME"); // 列名
ls.add(columnName);
}
}
- 当取得rs的TABLE_NAME字段后,再限制一次,这下出现的字段就只会是指定表下的了。
- 【代码】
package com.txc.lab;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* 此类用于查出某表下的所有字段名称
*/
public class FieldFinder {
//-- 以下为连接Oracle数据库的四大参数
private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
private static final String URL = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
private static final String USER = "luna";
private static final String PSWD = "1234";
public void printFields(String tablename){
Connection conn = null;
try{
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL, USER, PSWD);
List<String> ls=getFields(conn,tablename);
Collections.sort(ls);
ls.stream().forEach(table -> System.out.println(table));
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
private List<String> getFields(Connection conn,String tablename) throws Exception{
DatabaseMetaData metaData = conn.getMetaData();
ResultSet rs = metaData.getColumns(null, null, tablename+"%", null);
List<String> ls=new ArrayList<>();
while (rs.next()) {
String tbName = rs.getString("TABLE_NAME"); // 表名
if(tbName.equalsIgnoreCase(tablename)){
String columnName = rs.getString("COLUMN_NAME"); // 列名
ls.add(columnName);
}
}
return ls;
}
public static void main(String[] args){
FieldFinder finder=new FieldFinder();
finder.printFields("EMP");
}
}
- 【参考资料】
https://blog.csdn.net/github_34793283/article/details/114109394
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员橙子
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果