「java实时刷新数据库」java数据库修改动态刷新数据

博主:adminadmin 2022-12-17 19:57:06 76

今天给各位分享java实时刷新数据库的知识,其中也会对java数据库修改动态刷新数据进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java实现数据库定时更新

才1500条记录,怎么弄也花不了很长时间,也不会占很大资源。

因为是两个不同的数据库所以用纯SQL是做不了的。只有读到服务器中做比较然后更新。

这样的操作最好不要用框架,自己写也不是很难的,表2你只要读一次然后循环发update到表1里去,表1的数据库连接你创建一个就好了,你把它缓存了,在循环里不停的反复用(只用一个就行了不用写连接池,因为不涉及多线程,--千万不要发一条update建一个connection 然后关闭)整个过程大概不到一分中就完成(环境不一样会有一点出入)

任何疑问

blog.csdn.net/shmilyhe

mail:shmilyhe@163.com

java怎么实现数据库有新数据 页面数据就更新?

既然是有新数据,说明是两种情况:

1、自己在数据库内填写的,那就脱离了数据库的采集用户信息的作用,无效性比较大,可以采用页面时间间隔刷新的方式来每次获取数据库信息;

2.用户传进数据库的数据,既然是传进来的 那就会发生数据库和页面交互,这样的话当数据传进数据库的时候在Dao方法中返回一个数据库select*from test(表)传出来的值,页面上request接收一下,不就能时时更新了嘛

Java如何实现自动刷新

while (rs.next()) {

rowData[i][0] = rs.getString("exam_No");

rowData[i][1] = rs.getString("student_ID");

rowData[i][2] = rs.getString("student_Name");

rowData[i][3] = rs.getString("class_NO");

rowData[i][4] = rs.getString("course_Name");

rowData[i][5] = rs.getString("result");

i++;

}

//在此处添加如下代码:

xxxxxxxxxxxx_model.fireTableDataChanged();

//或:

table.setModel(new XxxxxxxxxxTableModel(rowData,.......));

解决方法1:

如果你的表格模型扩展自AbstractTableModel,

表格数据改变后,则调用模型的fireTableDataChanged()方法;

解决方法2:

重新设置表格模型.

例如:

table.setModel(new DefaultTableModel(data,columnNames));

下面是我写的一个上例子.

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.table.*;

public class JTableTest

{

public static void main(String args[])

{

JTableTestFrame f=new JTableTestFrame();

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

class JTableTestFrame extends JFrame

{

private JTable table=null;

private ArrayTableModel atm=null;

private JButton reload=null;

private final static String[] columnNames={"Number","addend","augend","sum"};

private int start=0;

public JTableTestFrame()

{

atm=new ArrayTableModel(columnNames);

table=new JTable(atm);

reload=new JButton("Reload");

reload.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

reload();

}

});

JPanel p=new JPanel(new BorderLayout());

p.add(new JLabel("JTable Test"),BorderLayout.NORTH);

p.add(new JScrollPane(table),BorderLayout.CENTER);

p.add(reload,BorderLayout.SOUTH);

this.add(p);

this.setSize(300,300);

this.setVisible(true);

}

public void reload()

{

int rows=10;

int cols=columnNames.length;

Object[][] data=new Object[rows][cols];

for(int i=0;irows;i++)

{

start+=i;

data[i][0]=start;

data[i][1]=start+1;

data[i][2]=start+2;

data[i][3]=start*2+3;

}

atm.setData(data);

atm.fireTableDataChanged();

}

}

class ArrayTableModel extends AbstractTableModel

{

private String[] columnNames=null;

private Object[][] data=null;

public ArrayTableModel(String[] columnNames)

{

this.columnNames=columnNames;

this.data=new Object[1][columnNames.length];

}

public ArrayTableModel(Object[][] data,String[] columnNames)

{

this.data=data;

this.columnNames=columnNames;

}

public Object getValueAt(int r,int c)

{

return this.data[r][c];

}

public int getRowCount()

{

return this.data.length;

}

public int getColumnCount()

{

return this.columnNames.length;

}

public String[] getColumnNames() {

return columnNames;

}

public String getColumnName(int c)

{

return this.columnNames[c].toString();

}

public void setColumnNames(String[] columnNames) {

this.columnNames = columnNames;

}

public Object[][] getData() {

return data;

}

public void setData(Object[][] data) {

this.data = data;

}

}

关于java实时刷新数据库和java数据库修改动态刷新数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-17,除非注明,否则均为首码项目网原创文章,转载请注明出处。