你這跟struts2沒關系,需要一個定時器,定時去跑你的查詢庫表代碼就OK了。
創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司,專注成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設、網(wǎng)站營銷推廣,空間域名,網(wǎng)站空間,網(wǎng)站運營有關企業(yè)網(wǎng)站制作方案、改版、費用等問題,請聯(lián)系創(chuàng)新互聯(lián)。
如果你的程序是需要將查詢結果展示在jsp頁面上,你需要在jsp頁面上使用js寫定時器代碼,參考SetInterval方法。
如果你的程序是桌面應用程序,你可以使用java的定時器Timer。當然,你的項目中如果使用了spring,那有更好的解決方案Quartz。
具體問題要具體分析了。
JDBC操作MySQL數(shù)據(jù)庫的步驟
1、準備MySQL數(shù)據(jù)庫驅(qū)動包:mysql-connector-java-5.0.8-bin.jar,一個項目中只能存在一個版本的驅(qū)動包
a、復制該驅(qū)動包,粘貼到項目中
b、選中項目里的驅(qū)動包,右鍵-Build Path-Add to Build Path
2、在類里寫代碼加載驅(qū):決定連接哪種數(shù)據(jù)庫
a、Class.forName("com.mysql.jdbc.Driver");
b、必須進行異常處理:ClassNotFoundException
3、連接數(shù)據(jù)庫
a、Connection con=DriverManager.getConnection("連接字符串", "用戶名", "密碼");
b、連接字符串格式固定,不同數(shù)據(jù)庫,格式不同:jdbc:mysql://要連接的計算機名稱:端口號/要連接的數(shù)據(jù)庫名稱
c、必須進行異常處理:SQLException
4、拼寫要執(zhí)行的sql語句,必須是可以在數(shù)據(jù)庫中執(zhí)行的
5、創(chuàng)建執(zhí)行sql語句的對象
a、Statement stmt=con.createStatement();
b、注意:Statement必須來自于java.sql包中
6、執(zhí)行sql語句
a、執(zhí)行insert、update和delete語句:int row=stmt.executeUpdate(sql);返回影響行數(shù)
b、執(zhí)行查詢語句:ResultSet rs=stmt.executeQuery(sql);返回查詢結果
c、執(zhí)行任意sql語句(DDL、DCL、DML和DQL等)
7、對執(zhí)行結果進行處理
a、執(zhí)行更新語句:判斷影響行數(shù)是否為0,0表示失敗,非0表示成功
b、對查詢結果進行處理:
1) 結果集需要先移動、后取值 :rs.next();int id=rs.getInt(1);
String name=rs.getString("loginName");
2) 結果集有多條時,需要循環(huán)操作:
while(rs.next()){ System.out.println(rs.getInt(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getString(4)+"\t"+rs.getInt(5));
}
3) 不確定是否有查詢結果時:if(rs.next()){說明有查詢結果}else{沒有查詢結果}
4) 使用了聚合函數(shù),一定有查詢結果,查詢結果是一行一列:
rs.next();
int result=rs.getInt(1);
注意:結果集取值時取出的時查詢語句中包含的字段,與表中字段無關
9、關閉相關對象(先關閉結果集對象、在關閉執(zhí)行語句對象,最后關閉連接對象)
例如:執(zhí)行查詢語句
Scanner input=new Scanner(System.in);
System.out.print("請輸入登錄名: ");
String name=input.next();
System.out.print("請輸入密碼: ");
String pass=input.next();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb", "root", "root");
String sql="select COUNT(*) from UserInfo where loginName='"+name+"' and loginPass='"+pass+"'";
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
rs.next();
int result=rs.getInt(1);
if(result!=0){
System.out.println("登錄成功!");
}else{
System.out.println("用戶名或密碼錯誤,請重新登錄!");
}
rs.close();
stmt.close();
con.close();
} catch (ClassNotFoundException e) {
System.out.println("加載驅(qū)動錯誤:"+e.getMessage());
} catch (SQLException e) {
System.out.println("數(shù)據(jù)庫操作錯誤:"+e.getMessage());
}
執(zhí)行添加、修改和刪除語句
try {
//加載驅(qū)動
Class.forName("com.mysql.jdbc.Driver");
//連接數(shù)據(jù)庫
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb", "root", "root");
//拼寫要執(zhí)行的sql語句
String sql="update UserInfo set loginPass='111' where loginName='a'";
//String sql="insert UserInfo values(default,'test','test')";
//String sql="delete from UserInfo where loginName='a'";
//創(chuàng)建執(zhí)行語句對象
Statement stmt=con.createStatement();
//執(zhí)行
int row=stmt.executeUpdate(sql);
//處理結果
if(row==0){
System.out.println("修改失??!");
}else{
System.out.println("修改成功!");
}
//關閉
stmt.close();
con.close();
} catch (ClassNotFoundException e) {
System.out.println("驅(qū)動加載錯誤:"+e.getMessage());
} catch (SQLException e) {
System.out.println("數(shù)據(jù)庫操作錯誤:"+e.getMessage());
}
多表查詢是屬于數(shù)據(jù)庫的知識, 按照你說的使用java進行多表查詢那就要使用Hibernate,此ORM框架將數(shù)據(jù)庫的關系映射成了java代碼的形式。
通過配置映射文件(*.hbm.xml) 設置好關聯(lián)關系就可以了。也不知道你具體的表結構是什么樣子的。
另外:比較簡單的 你直接用sql代碼的左右連接也可以實現(xiàn)多表查詢, 甚至如果你基礎差點,可以分成幾句sql語句, 逐步完成查找。 也不清楚你的表結構,具體代碼就不給出了。
本文題目:java代碼對表的查詢 java實現(xiàn)查詢
URL標題:http://muchs.cn/article18/ddccjgp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、網(wǎng)站策劃、自適應網(wǎng)站、建站公司、網(wǎng)站收錄、響應式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)