關(guān)于java動(dòng)態(tài)查找表長(zhǎng)代碼的信息

用java寫一個(gè)程序,實(shí)現(xiàn)對(duì)SQL數(shù)據(jù)庫(kù)的動(dòng)態(tài)表進(jìn)行定時(shí)查詢

你這跟struts2沒(méi)關(guān)系,需要一個(gè)定時(shí)器,定時(shí)去跑你的查詢庫(kù)表代碼就OK了。

在定陶等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作專業(yè)公司,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),網(wǎng)絡(luò)營(yíng)銷推廣,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),定陶網(wǎng)站建設(shè)費(fèi)用合理。

如果你的程序是需要將查詢結(jié)果展示在jsp頁(yè)面上,你需要在jsp頁(yè)面上使用js寫定時(shí)器代碼,參考SetInterval方法。

如果你的程序是桌面應(yīng)用程序,你可以使用java的定時(shí)器Timer。當(dāng)然,你的項(xiàng)目中如果使用了spring,那有更好的解決方案Quartz。

具體問(wèn)題要具體分析了。

JAVA 動(dòng)態(tài)搜索(查找) 在線等

我用的是oracle 數(shù)據(jù)庫(kù)。查詢String sql = "select EMPNO,ENAME,SAL,DEPTNO from emp where ENAME like ?";顯示4個(gè)字段

///主方法

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import javax.swing.JFrame;

public class TrendSearch extends JFrame {

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JTable jTable1;

private javax.swing.JTextField jTextField1;

private MyTableModel tableModel;

private ListObject list = new ArrayListObject();

private Staff staff;

private Connection connection = (Connection) OraSqlConnection

.getConnection();

ResultSet rs = null;

/**

* @param args

*/

public TrendSearch() {

initComponents();

}

private void initComponents() {

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jTextField1 = new javax.swing.JTextField();

jScrollPane1 = new javax.swing.JScrollPane();

jTable1 = new javax.swing.JTable();

jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyReleased(java.awt.event.KeyEvent evt) {

jTextField1KeyReleased(evt);

}

});

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

getContentPane().add(jTextField1, java.awt.BorderLayout.NORTH);

tableModel = new MyTableModel(new String[] { "EMPNO", "ENAME", "SAL",

"DEPTNO" }, new ArrayList());

jTable1.setModel(tableModel);

jScrollPane1.setViewportView(jTable1);

getContentPane().add(jScrollPane1, java.awt.BorderLayout.SOUTH);

pack();

}

private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

String s = jTextField1.getText().trim();

list.removeAll(list);

if (s != null !"".equals(s)) {

PreparedStatement pstmt = null;

System.out.println(s);

String sql = "select EMPNO,ENAME,SAL,DEPTNO from emp where ENAME like ?";

try {

pstmt = connection.prepareStatement(sql);

pstmt.setString(1, s + "%");

rs = pstmt.executeQuery();

while (rs.next()) {

staff = new Staff();

staff.setEMPNO(rs.getString(1));

staff.setENAME(rs.getString(2));

staff.setSAL(rs.getString(3));

staff.setDEPTNO(rs.getString(4));

list.add(staff);

}

tableModel.data = list;

tableModel.fireTableDataChanged();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

private class MyTableModel extends BaseTableModel {

public MyTableModel(String[] cols, ListObject data) {

super(cols, data);

// TODO Auto-generated constructor stub

}

public Object getValueAt(int rowIndex, int columnIndex) {

// TODO Auto-generated method stub

Staff s = (Staff) list.get(rowIndex);

switch (columnIndex) {

case 0:

return s.getDEPTNO();

case 1:

return s.getENAME();

case 2:

return s.getSAL();

case 3:

return s.getDEPTNO();

default:

break;

}

return null;

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

TrendSearch ts = new TrendSearch();

ts.setVisible(true);

}

}

///tabel 類

import java.util.List;

import javax.swing.table.AbstractTableModel;

public abstract class BaseTableModel extends AbstractTableModel {

public String[] cols;

public ListObject data;

public BaseTableModel(String[] cols, ListObject data) {

this.cols = cols;

this.data = data;

}

public int getColumnCount() {

return cols.length;

}

public int getRowCount() {

return data.size();

}

public String getColumnName(int colIndex) {

return cols[colIndex];

}

}

//javabean 類

public class Staff {

private String EMPNO;

private String ENAME;

private String SAL;

private String DEPTNO;

public String getEMPNO() {

return EMPNO;

}

public void setEMPNO(String empno) {

EMPNO = empno;

}

public String getENAME() {

return ENAME;

}

public void setENAME(String ename) {

ENAME = ename;

}

public String getSAL() {

return SAL;

}

public void setSAL(String sal) {

SAL = sal;

}

public String getDEPTNO() {

return DEPTNO;

}

public void setDEPTNO(String deptno) {

DEPTNO = deptno;

}

}

///JDBC類

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

/**

* @author jiangzongshuai

*

*/

public class OraSqlConnection {

private static String className = "oracle.jdbc.driver.OracleDriver";

private static String url = "jdbc:oracle:thin:@localhost:1521:ORCL";

private static String username = "scott";

private static String password = "tiger";

private static Connection conn = null;

public static Connection getConnection() {

try {

if (conn !=null) return conn;

Class.forName(className);

conn = DriverManager.getConnection(url, username, password);

return conn;

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return null;

}

}

如何在java里實(shí)現(xiàn)復(fù)雜的動(dòng)態(tài)查詢功能?

根據(jù)選擇查詢內(nèi)容在后臺(tái)動(dòng)態(tài)拼接sql,比如條件A,select * from A,條件B換成select * from B.

前端也可以動(dòng)態(tài)的顯示要查詢的內(nèi)容。

網(wǎng)頁(yè)名稱:關(guān)于java動(dòng)態(tài)查找表長(zhǎng)代碼的信息
標(biāo)題來(lái)源:http://www.muchs.cn/article32/docsipc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、網(wǎng)站制作標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計(jì)公司、云服務(wù)器外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)