如何用java查询出MySQL中的所有表名

如何用java查询出MySQL中的所有表名,第1张

第一步:添加JDBC驱动程序包(mysql-connector-java-504-binjar 这个去网上找!)

第二步:import javasql ;

第三步:加载并注册驱动程序!

ClassforName("commysqljdbcDriver");

第四步:创建一个Connection对象!

DriverManagergetConnection("jdbc:mysql://localhost/testuser=root&password=root");

第五步:创建一个 Statement 对象或preparedStatement对象

Statement stmt = conncreateStatement();

第六步:执行语句!

ResultSet rs = stmtexecuteQuery("show tables; ");

第七步:使用ResultSet对象!

while (rsnext()) {

Systemoutprintln(rsgetString(“ename"));

}

关闭ResultSet 对象

关闭Statement对象或

preparedStatement对象

关闭连接

如果只是查询~在数据库建立个相关的视图 感觉比表连结要省事 也不容易出错~

这不是为了查询么

你要使用增删改 语句表连接也不能实现啊。。你也要按照增删改相关的表 对不。。。所以查询 还是建立视图省事。。。增删改 该怎么做还怎么做

mysql中

有个information_schema的数据库

里面有个TABLES的表

这里面就包含了MYSQL

所有表的信息

至于表的字段具体信息我也不太清楚了

JTable的有一个方法是getTableModel()返回提供此 JTable 所显示数据的 TableModel

TableModel是一个接口,实际上返回的是DefaultTableModel类,它实现了TableModel接口。这个类中有一个方法是void addRow(Object[] rowData)。它就是将一行插入到JTable中。

不过JTable的setValueAt方法应该就可以实现。

楼主可以定义个一个线程类来完成。

比如你需要插入100行数据,可以在线程的run方法中写一个循环,在循环中写两行代码,一行是setValueAt,一行是刷新JTable,然后再让线程睡眠,这样一行一行的显示的效果就可以出来了!

或者楼主可以用进度条来打发等待的时间,就像打开netbeans的那个进度条一样,这个可以用JProgressBar类。楼主可以去查看一下源代码。如果楼主还是没有头绪,我干脆就写个例子得了!

关于组件的添加或者类似设置窗口的大小,布局管理器等我就不做解释了!

import javaxswing;

import javaawtevent;

import javaawt;

import javaxswingtable;

public class Test extends JFrame implements ActionListener

{

private JButton button1;

private JButton button2;

private JButton button3;

private DefaultTableModel model;

private JTable table;

private JProgressBar bar;

private JScrollPane scrollpane;

private JPanel panel;

public Test()

{

button1=new JButton("演示1");

button2=new JButton("演示2");

button3=new JButton("清空");

panel=new JPanel();

bar=new JProgressBar(0,100);

String[] colnames={"数据一","数据二"};

model=new DefaultTableModel(colnames,100);

table=new JTable(model);

scrollpane=new JScrollPane(table);

panelsetLayout(new FlowLayout());

button1addActionListener(this);

button2addActionListener(this);

button3addActionListener(this);

paneladd(button1);

paneladd(button2);

paneladd(button3);

paneladd(bar);

thissetLayout(new GridLayout(2,1));

thissetSize(500,600);

thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

thisadd(scrollpane);

thisadd(panel);

}

public void actionPerformed(ActionEvent e)

{

String command=egetActionCommand();

if(commandequals("演示1"))

{

ShowModel show=new ShowModel(true);

Thread thread=new Thread(show);

threadstart();

}

else if(commandequals("演示2"))

{

ShowModel show=new ShowModel(false);

Thread thread=new Thread(show);

threadstart();

}

else

{

String[] colnames={"数据一","数据二"};

model=new DefaultTableModel(colnames,100);

tablesetModel(model);

}

}

private class ShowModel implements Runnable

{

private boolean type;//当type为true时,则说明是“演示1”的线程,false则相反

public ShowModel(boolean type)

{

thistype=type;

}

public void run()

{

if(type)//这个就是让线程睡眠,并且设置JTable的值

{

try{

for(int i=0;i<100;i++)

{

TestthistablesetValueAt(StringvalueOf(i),i,0);

TestthistablesetValueAt(StringvalueOf(i),i,1);

Threadsleep(100);

}

}catch(Exception e)

{

eprintStackTrace();

}

}

else//这个就是进度条的演示

{

try{

TestthistablesetVisible(false);

for(int i=0;i<100;i++)

{

TestthistablesetValueAt(StringvalueOf(i),i,0);

TestthistablesetValueAt(StringvalueOf(i),i,1);

TestthisbarsetValue(i+1);

TestthisbarsetString(StringvalueOf(i+1)+"%");

Threadsleep(40);

if(i==99)

{

TestthistablesetVisible(true);

JOptionPaneshowMessageDialog(Testthis,"OK");

TestthisbarsetValue(0);

}

}

}catch(Exception e)

{

eprintStackTrace();

}

}

}

}

public static void main(String[] args)

{

Test test=new Test();

testsetVisible(true);

}

}

1

jdbc连接数据库

2

查询某张表

select

count(1)

from

xxxx;

3

如果返回的resultset

大于0

那么就证明有数据,否则没有数据。

ResultSet rs=pstmgetResultSet();

ResultSetMetaData ramd = rsgetMetaData();

ramdgetColumnType();//列字短的类型

ramdgetColumnName();//列字段的名字

ramdgetColumnCount();//有多少列

以上就是关于如何用java查询出MySQL中的所有表名全部的内容,包括:如何用java查询出MySQL中的所有表名、java对数据库的多表查询 *** 作的方法怎么写、java 获取mysql 某个数据库中所有表及表的列的信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10203632.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存