如何通过JAVA的API得到数据库里面的表 我想通过JAVA的API返回该数据库所有的的表的名称。应该是把“SHOW TABLES;”这样的命令传给mysql,我应该通过怎样的API去做这个?Statement.executeQuery嘛还是其他的?或者有别的方法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Connection con = ...;DatabaseMetaData meta = con.getMetaData();ResultSet rs = meta.getTables(null, null, null, null);while(rs.next()) { System.out.println(rs.getString("TABLE_NAME"));}rs 有许多列,具体的列说明可以参考 java.sql.DatabaseMetaData.getTables() 的 API 帮助。 <%@ page language="java" contentType="text/html; charset=GB2312" pageEncoding="GB2312"%><%@page import="java.util.Date"%><html><head> <title>WEBLOGIC 9 INDEX</title></head><body><P align="center"><font size=7><b>WEBLOGIC 9 INDEX</b></font><%@page import="java.sql.*" %><%@page import="java.text.*" %><%String time=DateFormat.getDateTimeInstance().format(new java.util.Date());out.println("<P>当前时间:"+time);//-----------------------------------------------int i=0;if(application.getAttribute("count")==null){ application.setAttribute("count",i);}else{ i=new Integer(Integer.valueOf(application.getAttribute("count").toString())); i++; application.setAttribute("count",i);}out.println("<P>浏览次数:"+i);//------------------------------------------------String dbname=request.getParameter("dbname");if(dbname==null){ out.println("<P>数据库名列表:<P>"); try{ Class.forName("com.mysql.jdbc.Driver"); Connection con=DriverManager.getConnection("jdbc:mysql://localhost/shujuku?user=root&password=mfditfyu&useUnicode=true&characterEncoding=GB2312"); DatabaseMetaData dmd=con.getMetaData(); ResultSet rs=dmd.getCatalogs(); int m=0; while(rs.next()){ m++; String dbn=rs.getString("TABLE_CAT"); out.println("<a href=index.jsp?dbname="+dbn+">"+m+"."+dbn+"</a> "); } rs.close(); con.close(); }catch(Exception e){ out.println("数据库服务未启动"+e); }}else{ String tablename=request.getParameter("tablename");//获取表名 if(tablename==null){//如果没有表名就把表查出来 out.println("<P><b>"+dbname+"库中表列表:</b> "); out.println("<a href=index.jsp>主页</a><P>"); try{ Class.forName("com.mysql.jdbc.Driver"); Connection con=DriverManager.getConnection("jdbc:mysql://localhost/"+dbname+"?user=root&password=mfditfyu&useUnicode=true&characterEncoding=GB2312"); DatabaseMetaData dmd=con.getMetaData(); ResultSet rs=dmd.getTables(null,null,null,null); int x=0; while(rs.next()){ x++; String tbname=rs.getString("TABLE_NAME"); out.println(x+".<a href=index.jsp?dbname="+dbname+"&tablename="+tbname+">"+tbname+"</a> "); } rs.close(); con.close(); }catch(Exception e){ out.println(dbname+"未知错误:"+e); } }else{//如果有表名就把表内容显出来 out.println("<P><b><a href=index.jsp?dbname="+dbname+">"+dbname+"</a>--->"+tablename+"</b> "); out.println("<a href=index.jsp>主页</a><P>"); out.println("<table cellpadding=0 cellspacing=1 border=0 width='100%' bgcolor=#334455>"); try{ Class.forName("com.mysql.jdbc.Driver"); Connection con=DriverManager.getConnection("jdbc:mysql://localhost/"+dbname+"?user=root&password=mfditfyu&useUnicode=true&characterEncoding=GB2312"); Statement stm=con.createStatement(); ResultSet rs=stm.executeQuery("select * from "+tablename); ResultSetMetaData rsmd=rs.getMetaData(); int colCount=rsmd.getColumnCount();//列数 out.println("<tr>"); for(int y=1;y<=colCount;y++){ out.println("<td align=center height=25 bgcolor=#ff9900><font color=#FFFFFF><b> "+rsmd.getColumnName(y)+" </b></font></td>");//输出列标题 } out.println("</tr>"); //下面输出记录 int n=0; while(rs.next()){ out.println("<tr>"); n++; for(int r=1;r<=colCount;r++){ out.println("<td bgcolor=#FFFFFF height=22>"+rs.getString(r)+"</td>"); } out.println("</tr>"); } rs.close(); out.println("<tr><td bgcolor=#FFFFFF align=center colspan="+colCount+"><font size=2>共 "+n+" 条记录</font></td></tr>"); out.println("</table>"); }catch(Exception e){ out.println(dbname+"未知错误:"+e); } }}%><table cellpadding=0 cellspacing=0><tr><td colspan="1"></td></tr></table></body></html> java swing窗体中显示word文档 关于在txt文本中的字符串的替换问题 有兴趣的来练练,某考试中的一题 求JAVA2核心技术 PDF版(带书签的) new和newinstance的区别在那里呢? Struts2 注入两个接口 为什么报空指针 java該怎么學習…… 关于科学记数法如何转换为普通的记数法? 为什么没人帮我啊?看来我要再发一次了,解决者定给分!! 请教:rmi中的server为什么不能注册? Jmail如何得到对方未受到邮件的信息 我是不是不适合团队合作!!!
DatabaseMetaData meta = con.getMetaData();
ResultSet rs = meta.getTables(null, null, null, null);
while(rs.next()) {
System.out.println(rs.getString("TABLE_NAME"));
}rs 有许多列,具体的列说明可以参考 java.sql.DatabaseMetaData.getTables() 的 API 帮助。
<%@page import="java.util.Date"%>
<html>
<head>
<title>WEBLOGIC 9 INDEX</title>
</head>
<body>
<P align="center"><font size=7><b>WEBLOGIC 9 INDEX</b></font>
<%@page import="java.sql.*" %>
<%@page import="java.text.*" %>
<%
String time=DateFormat.getDateTimeInstance().format(new java.util.Date());
out.println("<P>当前时间:"+time);
//-----------------------------------------------
int i=0;
if(application.getAttribute("count")==null){
application.setAttribute("count",i);
}else{
i=new Integer(Integer.valueOf(application.getAttribute("count").toString()));
i++;
application.setAttribute("count",i);
}
out.println("<P>浏览次数:"+i);
//------------------------------------------------
String dbname=request.getParameter("dbname");
if(dbname==null){
out.println("<P>数据库名列表:<P>");
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/shujuku?user=root&password=mfditfyu&useUnicode=true&characterEncoding=GB2312");
DatabaseMetaData dmd=con.getMetaData();
ResultSet rs=dmd.getCatalogs();
int m=0;
while(rs.next()){
m++;
String dbn=rs.getString("TABLE_CAT");
out.println("<a href=index.jsp?dbname="+dbn+">"+m+"."+dbn+"</a> ");
}
rs.close();
con.close();
}catch(Exception e){
out.println("数据库服务未启动"+e);
}
}else{
String tablename=request.getParameter("tablename");//获取表名
if(tablename==null){//如果没有表名就把表查出来
out.println("<P><b>"+dbname+"库中表列表:</b> ");
out.println("<a href=index.jsp>主页</a><P>");
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/"+dbname+"?user=root&password=mfditfyu&useUnicode=true&characterEncoding=GB2312");
DatabaseMetaData dmd=con.getMetaData();
ResultSet rs=dmd.getTables(null,null,null,null);
int x=0;
while(rs.next()){
x++;
String tbname=rs.getString("TABLE_NAME");
out.println(x+".<a href=index.jsp?dbname="+dbname+"&tablename="+tbname+">"+tbname+"</a> ");
}
rs.close();
con.close();
}catch(Exception e){
out.println(dbname+"未知错误:"+e);
}
}else{//如果有表名就把表内容显出来
out.println("<P><b><a href=index.jsp?dbname="+dbname+">"+dbname+"</a>--->"+tablename+"</b> ");
out.println("<a href=index.jsp>主页</a><P>");
out.println("<table cellpadding=0 cellspacing=1 border=0 width='100%' bgcolor=#334455>");
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/"+dbname+"?user=root&password=mfditfyu&useUnicode=true&characterEncoding=GB2312");
Statement stm=con.createStatement();
ResultSet rs=stm.executeQuery("select * from "+tablename);
ResultSetMetaData rsmd=rs.getMetaData();
int colCount=rsmd.getColumnCount();//列数
out.println("<tr>");
for(int y=1;y<=colCount;y++){
out.println("<td align=center height=25 bgcolor=#ff9900><font color=#FFFFFF><b> "+rsmd.getColumnName(y)+" </b></font></td>");//输出列标题
}
out.println("</tr>");
//下面输出记录
int n=0;
while(rs.next()){
out.println("<tr>");
n++;
for(int r=1;r<=colCount;r++){
out.println("<td bgcolor=#FFFFFF height=22>"+rs.getString(r)+"</td>");
}
out.println("</tr>");
}
rs.close();
out.println("<tr><td bgcolor=#FFFFFF align=center colspan="+colCount+"><font size=2>共 "+n+" 条记录</font></td></tr>");
out.println("</table>");
}catch(Exception e){
out.println(dbname+"未知错误:"+e);
}
}
}
%>
<table cellpadding=0 cellspacing=0><tr><td colspan="1"></td></tr>
</table>
</body>
</html>