【问题标题】:Add database value for multialarm为多警报添加数据库值
【发布时间】:2016-01-29 15:52:42
【问题描述】:

我是 java 新手,我需要帮助来添加我的数据库值以进行多警报(桌面不是 Android)。这是我的警报类代码​​:

public class Alarm { 
Thread t; int str = 0;
Connection conn = null ;

public void checkAlarm(int d,int m,int hh,int mm,final String ampm,final String message){ 
final int a=hh,b=m,c=d,f=mm;                
if(ampm.equals("AM"))
{ str=0; }
else if(ampm.equals("PM"))
{
 str=1;
}
final boolean whileloop=true;
t=new Thread(){ 
      private Object ac;
public void run()
{ 
    while(whileloop==true) 
{ 
    Calendar d = Calendar.getInstance();
    //DATE
    int date1=d.get(Calendar.DATE); 
    int month=d.get(Calendar.MONTH);
    //TIME
    int hours=d.get(Calendar.HOUR); 
    int mins=d.get(Calendar.MINUTE); 
    int str1=d.get(Calendar.AM_PM); 
    if(c==date1&&f==month&&a==hours&&b==mins&&st­r==str1) 
    {
        FrameNotification a = new FrameNotification();     
        a.setVisible(true);    
        break;                
    }
} 
} };

t.setPriority(Thread.MIN_PRIORITY); 
t.start();
} 

我试试这个,它可以像这样工作(没有数据库值):

       Alarm a=new Alarm();
       a.checkAlarm(29,((1)-1),3,19,"PM","X­D");

问题是我不知道怎么设置

a.checkAlarm(29,((1)-1),3,19,"PM","X­D"); 

进入

 a.checkAlarm(//insert database value here?);

【问题讨论】:

    标签: java alarm


    【解决方案1】:
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Connection;
    import org.apache.commons.lang.builder.ToStringBuilder;
    import org.apache.commons.lang.builder.ToStringStyle;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    public class RuleDBConnection {
    
    private static Logger logger = LoggerFactory.getLogger(RuleDBConnection.class);
    
    public static class DBInfo {
        String host;
        int port;
        String database;
        String user;
        String password;
        String table;
        String queueName;
        String timeZoneID;
        int fetchSize;
        DBType dbType = DBType.MYSQL;
    
        public String getHost() {
            return host;
        }
    
        public void setHost(String host) {
            this.host = host;
        }
    
        public int getPort() {
            return port;
        }
    
        public void setPort(int port) {
            this.port = port;
        }
    
        public String getDatabase() {
            return database;
        }
    
        public void setDatabase(String database) {
            this.database = database;
        }
    
        public String getUser() {
            return user;
        }
    
        public void setUser(String user) {
            this.user = user;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
        public DBType getDbType() {
            return dbType;
        }
    
        public void setDbType(DBType dbType) {
            this.dbType = dbType;
        }
    
        @Override
        public String toString() {
            return ToStringBuilder.reflectionToString(this,
                    ToStringStyle.SHORT_PREFIX_STYLE);
        }
    
        public static enum DBType {
            ORACLE, MYSQL
        }
    }
    
    public static Connection getConnection(DBInfo dbInfo) throws SQLException {
        try {
            String url = null;
            if (dbInfo.getDbType() == DBInfo.DBType.MYSQL) {
                Class.forName("com.mysql.jdbc.Driver");
                url = String.format("jdbc:mysql://%s:%d/%s", dbInfo.getHost(),
                        dbInfo.getPort(), dbInfo.getDatabase());
            } else {
                Class.forName("oracle.jdbc.driver.OracleDriver");
                url = String.format("jdbc:oracle:thin:@%s:%d:%s", dbInfo.host,
                        dbInfo.port, dbInfo.database);
            }
            logger.info("url=>{}", url);
            return DriverManager.getConnection(url, dbInfo.user,
                    dbInfo.password);
        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        }
    }
    

    }

    【讨论】:

    • 使用这段代码sn -p,可以直接连接db,使用正常的mysql查询。
    • 我已将函数更改为 void,因此现在运行良好,非常感谢您回答我的问题,我很感激 :)
    猜你喜欢
    • 2013-11-17
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多