网上查到通过java使用定时器实现每2秒查询一次数据库。本人菜鸟,还得多学习呀。
附上转载链接:https://blog.csdn.net/liangayang/article/details/82850593
这个还没有亲测,由于时间紧张,先记下来,以后会用到的。
1.起定时器,每2秒进行一次动作
package connection;
import java.util.Timer;
import java.util.TimerTask;
public class ConnetionToOracle extends TimerTask {
public static void main(String[] args) {
Timer timer = new Timer(); //起定时器,每2秒查询一次
ConnetionToOracle t = new ConnetionToOracle();
timer.schedule(t, 0, 2000);
}
@Override
public void run() {
// TODO Auto-generated method stub
JdbcConnection.JdbcDemo(); //调用方法
}
}
2、查询数据库(上述主程序调用的类)
package connection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcConnection {
public static void JdbcDemo() {
Connection con;
String driver = "oracle.jdbc.OracleDriver";
String url = "jdbc:oracle:thin:@。。。。";
String user = "";
String password = "";
try {
Class.forName(driver);
con = DriverManager.getConnection(url,user,password);
if(!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
Statement statement = con.createStatement();
String sql = "select * from t_users";
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
System.out.println("姓名" + "\t" + "ID");
System.out.println("-----------------");
String username = null;
String user_id = null;
while(rs.next()){
username = rs.getString("USERNAME");
user_id = rs.getString("USER_ID");
System.out.println(username + "\t" + user_id);
}
rs.close();
con.close();
} catch(ClassNotFoundException e) {
//数据库驱动类异常处理
System.out.println("数据库连接失败");
e.printStackTrace();
} catch(SQLException e) {
//数据库连接失败异常处理
System.out.println("数据库连接失败");
}catch (Exception e) {
// TODO: handle exception
System.out.println("数据库连接失败");
}finally{
System.out.println("数据库数据成功获取!!");
}
}
}