
可以用下面的方式获取,把tableName换成你的表名,有些数据库也可以直接使用Sql查询表列名
ResultSet resultSet = statementexecuteQuery("select from tableName");
ResultSetMetaData resultSetMetaData = resultSetgetMetaData();
for(int i=0; i<resultSetMetaDatagetColumnCount(); i++) {
Systemoutprint( resultSetMetaDatagetColumnLabel(i) + "\t" );
Systemoutprint( resultSetMetaDatagetColumnName(i) + "\t" );
Systemoutprintln( resultSetMetaDatagetColumnTypeName(i) );
}
ClassforName(thisdriver)newInstance(); //"Driver 为数据库驱动名称"
conn = DriverManagergetConnection(url, user, passwd);
Statement stmt = conncreateStatement();
String sql="select from s";
ResultSet result = stmtexecuteQuery(sql);
while(resultnext())
{
Systemoutprintln(resultgetString(1));
}
看来lz并没有认真看api文档啊,在接口connection中有一个getmetadata()函数,其返回值是接口databasemetadata,里面有各种数据库的配置信息,如是否支持空、最大连接数、用户可以调用的所有存储过程等,其中包括getschemas()-获取所有模式,gettables(),获取所有的表,根据输入的不同参数可以获取所有表或者其中某个模式的表,还包括表的注射等信息,getcolumns()则是获取表的具体字段,这些函数大多是以resultset的形式返回,和一般的jdbc使用差不多,lz慢慢研究研究吧
用到的是mysql的jar包,需要自己导入,这里我是用的是5148可以选择大于这个版本的
import javasql;
public class EditInfo {
public static void main(String[] args) throws Exception {
//加载驱动
ClassforName("commysqljdbcDriver");
//获取连接
Connection conn = DriverManagergetConnection("jdbc:mysql://127001:3306/jdbctestuser=root&password=123456&useUnicode=true&characterEncoding=UTF-8");
//创建preparestatement
PreparedStatement pstm=connprepareStatement("insert into students values(,,,)");
pstmsetInt(1,1);
pstmsetString(2,"莉莉");
pstmsetString(3,"生产");
pstmsetString(4,"1班");
pstmexecuteUpdate();
pstmsetInt(1,2);
pstmsetString(2,"毛毛");
pstmsetString(3,"制造");
pstmsetString(4,"2班");
pstmexecuteUpdate();
pstmsetInt(1,3);
pstmsetString(2,"妮妮");
pstmsetString(3,"资讯");
pstmsetString(4,"3班");
pstmexecuteUpdate();
pstmsetInt(1,4);
pstmsetString(2,"菲菲");
pstmsetString(3,"售后");
pstmsetString(4,"4班");
pstmexecuteUpdate();
pstmsetInt(1,5);
pstmsetString(2,"娜娜");
pstmsetString(3,"海外");
pstmsetString(4,"5班");
pstmexecuteUpdate();
PreparedStatement query=connprepareStatement("select from students");
ResultSet rs = queryexecuteQuery();
while (rsnext()) {
String result = rsgetInt(1) + " " + rsgetString(2) + " " + rsgetString(3) + " " + rsgetString(4);
Systemoutprintln(result);
}
pstmclose();
queryclose();
connclose();
}
}
显示结果
这种情况通常来说肯定是可以连的,所以你出现在问题可能有以下几种:
1、IP错误,连到别人的库去了;
2、你的表名是关键字;
3、sql中的表名写错;
可以肯定的说一定是你的粗心造成的,再仔细查查。
以上就是关于Java JDBC数据库查询表和字段全部的内容,包括:Java JDBC数据库查询表和字段、JAVA 编写通过JDBC存取student数据库中的表s的Java程序、java如何获取数据库中所有表名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)