zoukankan      html  css  js  c++  java
  • 根据Rowkey从HBase中查询数据

        /**
         * @Title: queryData
         * @Description: 从HBase查询出数据
         * @author xxxx
         * @param tableName
         *            表名
         * @param rowkey
         *            rowkey
         * @return 返回用户信息的list
         * @throws IOException
         * @throws UnsupportedEncodingException
         */
        public static ArrayList<xxxxUserInfo> queryData(String tableName,
                String rowkey) throws IOException, UnsupportedEncodingException
        {
            ArrayList<xxxxUserInfo> list = new ArrayList<xxxxUserInfo>();
    
            Configuration config = SignHBase.getConfiguration();
            HTable table = new HTable(config, tableName);
    
            Get get = new Get(rowkey.getBytes()); // 根据主键查询
            Result r = table.get(get);
            KeyValue[] kv = r.raw();
            xxxxUserInfo xxxxUserInfo = new xxxxUserInfo();
            for (int i = 0; i < kv.length; i++)
            {
                // 循环每一列
                String qualifier = new String(kv[i].getQualifier());
                if (qualifier.equals("n"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setName(val);
                }
                else if (qualifier.equals("b"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setBirthday(val);
                }
                else if (qualifier.equals("a"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setAddress(val);
                }
                else if (qualifier.equals("z"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setZip(val);
                }
                else if (qualifier.equals("f"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setFax(val);
                }
                else if (qualifier.equals("cid"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setCtfid(val);
                }
                else if (qualifier.equals("m"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setMobile(val);
                }
                else if (qualifier.equals("t"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setTel(val);
                }
                else if (qualifier.equals("e"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setEmail(val);
                }
                else if (qualifier.equals("g"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setGender(val);
                }
                else if (qualifier.equals("n"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setNationality(val);
                }
                else if (qualifier.equals("ct"))
                {
                    String val = new String(kv[i].getValue());
                    xxxxUserInfo.setCtftp(val);
                }
            }// end of 遍历每一列
            list.add(xxxxUserInfo);// 将查询到的结果写入List中
            return list;
        }
  • 相关阅读:
    大数据量查询优化——数据库设计、SQL语句、JAVA编码
    vue项目全局修改字体
    vue项目使用iframe嵌入另一个vue项目的页面
    vue中解决chrome浏览器自动播放音频 和MP3语音打包到线上
    java的string方法使用
    java使用EasyExcel操作Excel
    vue中,使用 es6的 ` 符号给字符串之间换行
    vue显示后端传递的图片流
    最全vue的vue-amap使用高德地图插件画多边形范围
    vue+elementUI实现 分页表格的单选或者多选、及禁止部分选择
  • 原文地址:https://www.cnblogs.com/sixiweb/p/3390827.html
Copyright © 2011-2022 走看看