微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Redis 数据库用 Java 实现

如何解决Redis 数据库用 Java 实现

美好的一天, 我有一个项目要做,我必须使用 Redis 位数组数据类型创建一个数据库,并编写一个 Java 代码以使用 GUI 下拉菜单访问数据库。我能够使用排序的集合命令来实现代码,但是我得到的规范是位数组数据类型和命令。根据我的理解,位数组对字符串进行操作。请问我该怎么办?请在下面找到我的项目和 gui 图像。

/*
 * To change this license header,choose License Headers in Project Properties.
 * To change this template file,choose Tools | Templates
 * and open the template in the editor.
 */
//MAIN PROJECT
package cen414dat;
import java.util.HashMap;
import java.util.Map;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;

import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
import javax.swing.Icon;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.Tuple;

/**
 *
 * @author ariel
 */
public class CEN414Dat {
    static HashMap<Double,String> redisData = new HashMap<Double,String>();
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // Todo code application logic here
        Jedis jedis = new Jedis("localhost");
        Info igr= new Info();
        
         if (jedis.zcard("igr") == null || jedis.zcard("igr") == 0) {
            jedis.zadd("igr",(Map) Info.map);}
         
         for(Tuple t: jedis.zrangeByscoreWithscores("igr",100)){
        System.out.println(t.getscore());
        redisData.put(t.getscore(),t.getElement());
        }
         
        ArrayList<String> states = new ArrayList<String>();
         for (Map.Entry m : redisData.entrySet()) {
             states.add((String)m.getValue());
         }
         
         String[] statesArray = new String[states.size()];
         states.toArray(statesArray);

        

        JComboBox<String> stateList = new JComboBox<>(statesArray);
        stateList.addItemListener(new Handler());
        
        // stateList.addItemListener(null);

// add to the parent container (e.g. a JFrame):
        JFrame jframe = new JFrame();
        JLabel item1 = new JLabel("IGR STATISTICS FOR H1 2020");
        item1.setToolTipText("Done by AJ");
        jframe.add(item1);
        jframe.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
        jframe.setLayout(new FlowLayout());
        jframe.setSize(275,180);
        jframe.setVisible(true);
        
        jframe.add(stateList);
        
        

// get the selected item:
       // String selectedBook = (String) stateList.getSelectedItem();
       

        // check whether the server is running or not
        System.out.println("Server is running: " + jedis.ping());
        //getting the percentage for each state
       
//        
        // storing the data into redis database
        System.out.println(jedis.zrange("igr",100));
        
        for (Map.Entry m : Info.map.entrySet()) {
            System.out.println(m.getKey() + " " + m.getValue());

            //jedis.zadd("outofschool",M)
        }
    }
    private static class Handler implements ItemListener{
//
//        @Override
//        public void actionPerformed(ActionEvent e) {
//           JOptionPane.showMessageDialog(null,String.format("%s",e.getActionCommand()));
//        }

        @Override
        public void itemStateChanged(ItemEvent e) {
             for (Map.Entry m : redisData.entrySet()) {
                 if(e.getItem().toString() == m.getValue()&& e.getStateChange() == 1){
                     
                     JOptionPane.showMessageDialog(null,m.getKey(),"Value in billions",1);
                     System.out.println(m.getKey());
                     break;
                     
         
        }
   
        }
        
    }
        
        
        
    }
    
}
/*
 * To change this license header,choose Tools | Templates
 * and open the template in the editor.
 */
package cen414dat;
import static com.sun.org.apache.xalan.internal.lib.ExsltDynamic.map;
import java.util.HashMap;

/**
 *
 * @author ariel
 */
//Info project
public class Info {
    public static HashMap<Double,String> map = new HashMap<Double,String>();
    public Info(){
    
    // IGR statistics in each state
    map.put(4.27,"Q1 Abia");
    map.put(1.92,"Q2 Abia");
    map.put(1.63,"Q1 Adamawa");
    map.put(2.12,"Q2 Adamawa");
    map.put(12.00,"Q1 Akwa-Ibom");
    map.put(4.26,"Q2 Akwa-Ibom");
    map.put(4.53,"Q1 Anambra");
    map.put(5.01,"Q2 Anambra");
    map.put(4.39,"Q1 Bauchi");
    map.put(1.37,"Q2 Bauchi");
    map.put(2.88,"Q1 Bayelsa");
    map.put(2.51,"Q2 Bayelsa");
    map.put(3.62,"Q1 Benue");
    map.put(1.73,"Q2 Benue");
    map.put(3.59,"Q1 Borno");
    map.put(1.79,"Q2 Borno");
    map.put(3.99,"Q1 CrossRiver");
    map.put(4.06,"Q2 CrossRiver");
    map.put(19.3,"Q1 Delta");
    map.put(11.5,"Q2 Delta");
    map.put(4.65,"Q1 Ebonyi");
    map.put(1.69,"Q2 Ebonyi");
    map.put(9.51,"Q1 Edo");
    map.put(4.50,"Q2 Edo");
    map.put(1.65,"Q1 Ekiti");
    map.put(1.55,"Q2 Ekiti");
    map.put(5.95,"Q1 Enugu");
    map.put(6.31,"Q2 Enugu");
    map.put(20.7,"Q1 FCT");
    map.put(14.5,"Q2 FCT");
    map.put(11.1,"Q1 Gombe");
    map.put(2.68,"Q2 Gombe");
    map.put(3.08,"Q1 Imo");
    map.put(4.65,"Q2 Imo");
    map.put(1.91,"Q1 Jigawa");
    map.put(1.10,"Q2 Jigawa");
    map.put(10.2,"Q1 Kaduna");
    map.put(4.36,"Q2 Kaduna");
    map.put(7.85,"Q1 Kano");
    map.put(9.66,"Q2 Kano");
    map.put(2.10,"Q1 Katsina");
    map.put(3.44,"Q2 Katsina");
    map.put(2.21,"Q1 Kebbi");
    map.put(2.18,"Q2 Kebbi");
    map.put(5.42,"Q1 Kogi");
    map.put(2.01,"Q2 Kogi");
    map.put(7.22,"Q1 Kwara");
    map.put(2.14,"Q2 Kwara");
    map.put(114.00,"Q1 Lagos");
    map.put(90.5,"Q2 Lagos");
    map.put(3.03,"Q1 Nasawara");
    map.put(2.87,"Q2 Nasawara");
    map.put(1.90,"Q1 Niger");
    map.put(2.12,"Q2 Niger");
    map.put(14.6,"Q1 Ogun");
    map.put(9.07,"Q2 Ogun");
    map.put(8.16,"Q1 Ondo");
    map.put(5.42,"Q2 Ondo ");
    map.put(7.02,"Q1 Osun");
    map.put(1.94,"Q2 Osun");
    map.put(7.35,"Q1 Oyo");
    map.put(10.4,"Q2 Oyo");
    map.put(7.20,"Q1 Plateau");
    map.put(2.20,"Q2 Plateau");
    map.put(36.6,"Q1 Rivers");
    map.put(27.9,"Q2 Rivers");
    map.put(1.58,"Q1 Sokoto");
    map.put(3.02,"Q2 Sokoto");
    map.put(2.35,"Q1 Taraba");
    map.put(1.71,"Q2 Taraba");
    map.put(1.96,"Q1 Yobe");
    map.put(1.96,"Q2 Yobe");
    map.put(3.57,"Q1 Zamfara");
    map.put(3.52,"Q2 Zamfara");
  
}
}

Image of the GUI

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。