HBASE的Java与Javaweb(采用MVC模式)实现增删改查附带源码
项目文件截图
Java运行截图
package domain; import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner; import org.apache.hadoop.hbase.client.Put; import com.sun.corba.se.spi.orbutil.fsm.Guard.Result;
import com.sun.org.apache.xml.internal.security.keys.content.KeyValue; import hbase.dao.HBaseDAO;
import hbase.dao.imp.HBaseDAOImp; public class Test { public static void main(String[] args) {
HBaseDAOImp hBaseDAOImp=new HBaseDAOImp();
try
{
int n=0; Scanner in = new Scanner(System.in);
while(n!=20)
{ System.out.println("**********欢迎使用HBase系统××××××××××");
System.out.println("1.创建指定的数据库");
System.out.println("2.列出 Hbase 所有的表的信息");
System.out.println("3.向数据库表中插入信息");//添加信息
System.out.println("4.查看指定数据库表的信息");//查看信息
System.out.println("5.清空指定的表的所有记录数据");
System.out.println("6.统计数据库中数据表的行数");
System.out.println("7.向指定数据库表中插入某一行全部信息");
System.out.println("8.查看指定数据库表中某一行全部信息");
System.out.println("9.删除指定数据库表中某一行的指定行健的的信息");
System.out.println("10.修改指定数据库表中某一行的指定列的信息");
System.out.println("############多条件查询###########");
System.out.println("11.按照两列的值进行查询");
System.out.println("20.退出");
System.out.println("请选择:");
if(in.hasNextInt())
{
n=in.nextInt();
}
else
{
System.out.println("输入的不是整数,请重新输入:");
continue;
}
switch(n)
{
case 1:{
System.out.println("输入你要创建的数据库的名称");
String tablename=in.next();
System.out.println("输入你要创建的数据库的列族名称");
String field=in.next();
String[] fields= {field};
//String[] fields= {"name","num","password"};
hBaseDAOImp.createTable(tablename, fields); break;
}
case 2:{
hBaseDAOImp.listTables();
break;
}
case 3:{
String tablename=null;
tablename="zythbase";
String rowKey=null;
rowKey="zyt001";
String family=null;
family="zyt";
String quailifer=null;//列的名称
quailifer="name";
String value=null;
value="张运涛";
hBaseDAOImp.insert(tablename, rowKey, family, quailifer, value);
break;
}
case 4:{
System.out.println("输入你要查询的数据库的名称");
String tablename=in.next();
hBaseDAOImp.getData(tablename);
break;
}
case 5: {
System.out.println("输入你要清空的数据库的名称");
String tablename=in.next();
hBaseDAOImp.clearRows(tablename);
break;
} case 6:{
System.out.println("输入你要统计的数据库的行数名称");
String tablename=in.next();
hBaseDAOImp.countRows(tablename); break;
}
case 7:{
System.out.println("输入你要插入的数据库的名称");
String tablename=in.next();
System.out.println("输入你要插入的此行数据的的行健");
String hqname=in.next();
System.out.println("输入你要插入的此行数据的的列族名称");
String lzname=in.next(); List<Put> list = new ArrayList<Put>();
Put put = new Put(hqname.getBytes());//参数为行键的值
put.add(lzname.getBytes(), "name".getBytes(), "啊是的飒飒大家阿诗丹顿所".getBytes()) ;//参数为列族的名称,列的名称,列对应的值
list.add(put) ; put.add(lzname.getBytes(), "addr".getBytes(), "shanghai1".getBytes()) ;
list.add(put) ;
put.add(lzname.getBytes(), "age".getBytes(), "30".getBytes()) ;
list.add(put) ;
put.add(lzname.getBytes(), "tel".getBytes(), "13567882341".getBytes()) ;
list.add(put) ;
hBaseDAOImp.save(list, tablename);//参数为数据库的名称
System.out.println("数据插入成功!!!!"); break;
}
case 8:{
System.out.println("输入你要查看的数据库的名称");
String tablename=in.next();
System.out.println("输入你要查看的此行数据的的行健");
String hqname=in.next();
System.out.println("数据查询结果如下!!!!");
hBaseDAOImp.showlistOneRow(tablename, hqname); break;
}
case 9:{
System.out.println("输入你要删除的数据库的名称");
String tablename=in.next();
System.out.println("输入你要删除的此行数据的的行健");
String hqname=in.next(); hBaseDAOImp.deleteRow(tablename, hqname);
System.out.println("数据删除成功!!!!"); break;
}
case 10:{
System.out.println("输入你要修改的数据库的名称");
String tablename=in.next();
System.out.println("输入你要修改的此行数据的的行健");
String hqname=in.next();
System.out.println("输入你要修改的此行数据的列族");
String column=in.next();
System.out.println("输入你要修改的此行数据的列名");
String lieming=in.next();
System.out.println("输入你要修改后的值");
String val=in.next(); hBaseDAOImp.modifyData(tablename, hqname, column, lieming, val);
System.out.println("数据修改完成!!!!"); break;
}
case 11:{
/*System.out.println("输入你要查询的数据库的名称");
String tablename=in.next();*/
/*System.out.println("输入你要修改的此行数据的的行健");
String hqname=in.next();
System.out.println("输入你要修改的此行数据的列族");
String column=in.next();*/ hBaseDAOImp.QueryByCondition2("Student"); break;
}
case 20:break;
default:System.out.println("输入错误,请重新输入");break;
}
} }
catch (Exception e)
{
e.printStackTrace();
}
} }
Javaweb运行截图
全部源代码:https://pan.baidu.com/s/1gsgFQ1RpbtTb43_xoOAiAA
HBASE的Java与Javaweb(采用MVC模式)实现增删改查附带源码的更多相关文章
- 使用jdbc实现简单的mvc模式的增删改查
Mvc模式设计: 视图:添加界面(addUser.jsp),修改界面(updateUser.jsp),显示页面(allUser.jsp) 控制器:添加信息控制器(AddUserServlet),修改信 ...
- java springboot整合zookeeper入门教程(增删改查)
java springboot整合zookeeper增删改查入门教程 zookeeper的安装与集群搭建参考:https://www.cnblogs.com/zwcry/p/10272506.html ...
- 关于MVC工厂模式的增删改查sql存储过程
这里MVC中用到了反射,工厂,泛型,接口 在搭建框架的时候,除了MVC的三层以外,还有泛型的接口层和工厂层 下面是dal层调用sql存储过程,增删改查,dal层继承了接口层,实现了接口层里面的方法 1 ...
- EasyUI + Spring MVC + hibernate实现增删改查导入导出
(这是一个故事--) 前言 作为一个JAVA开发工程师,我觉得最基本是需要懂前端.后台以及数据库. 练习的内容很基础,包括:基本增删改查.模糊查询.分页查询.树菜单.上传下载.tab页 主管发我一个已 ...
- java程序设计课期中考试——数据库的增删改查和简单的js界面
首先是设计思路,对于数据库的增删改查,我们借助Ecilipse来进行前端和后端的编写.Ecilipse是可以进行java web项目的操作的. 前端,我们选择用使用jsp,所谓的jsp就是可以嵌入其他 ...
- 【ASP.NET MVC】jqGrid 增删改查详解
1 概述 本篇文章主要是关于JqGrid的,主要功能包括使用JqGrid增删查改,导入导出,废话不多说,直接进入正题. 2 Demo相关 2.1 Demo展示 第一部分 第二部分 2.2 ...
- EasyUI +MVC +EF实现增删改查
OA项目的框架已经搭建好了,接下来就是在这个框架下完成相应的业务的编码,接下来实现UserInfo页面的增删改查. 1.首先先谈一下遇到的一个框架上的问题:提示EF版本不一致之类的问题,主要是解决方案 ...
- Java连接MySQL数据库,并进行增删改查
1.具体的代码实现 import java.sql.*; public class DatabaseService { /** * Create Connection * * @param dbtyp ...
- Java 实现一个 能够 进行简单的增删改查的 超市管理系统
1. 首先编写一个 Fruitltem 的商品类, 描述 商品的基本信息. 代码如下: 保证详细, 运行的起来, 有什么 问题也可以评论留言. /* * 自定义类, 描述商品信息 * * 商品的属性: ...
随机推荐
- qt5信息提示框QMessageBox用法
information QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes ...
- 修改MySql数据库的默认时
MySql数据库创建后,默认的时区比东八区少了八个小时.如果Sql语句中使用到MySql的时间的话就会比正常时间少了八个小时.所以需要修改MySql的系统时区,使其显示的时间和我们现在的时间一致. 1 ...
- shell编程学习笔记(九):Shell中的case条件判断
除了可以使用if条件判断,还可以使用case 以下蓝色字体部分为Linux命令,红色字体的内容为输出的内容: # cd /opt/scripts # vim script08.sh 开始编写scrip ...
- [Python设计模式] 第15章 如何兼容各种DB——抽象工厂模式
github地址:https://github.com/cheesezh/python_design_patterns 题目 如何让一个程序,可以灵活替换数据库? 基础版本 class User(): ...
- 对Faster R-CNN的理解(3)
2.2 边框回归 边框回归使用下面的几个公式: xywh是预测值,带a的是anchor的xywh,带*的是GT Box的xywh,可以看作是anchor经过一定的变换回归到附近的GT Box.
- JSONObject、JSONArray、Map、JavaBean的相互转换
1,JSONObject json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value} 2,JSONArray json数组,使用中括号[ ],只不过数组里面的项也是json键 ...
- mysql多实例配置下,用脚本启动mysql时,出现Please read "Security" section of the manual to find out how to run mysqld as root!
[root@localhost 3308]# mysqld stop170414 0:35:28 [Note] --secure-file-priv is set to NULL. Operation ...
- Python 爬虫实例(9)—— 搜索 爬取 淘宝
# coding:utf- import json import redis import time import requests session = requests.session() impo ...
- Delphi如何处理在进行大量循环时,导致的应用程序没有响应的情况
一般用在比较费时的循环中,往往导致应用程序没有响应,此时在比较费时的程序体中加入Application.ProcessMessages即可解决,该语句的作用是检查并先处理消息队列中的其他消息. 例如, ...
- 检查linux的磁盘空间占用
先初步看看哪个目录占用最大$ df -h 然后细看遍历某目录的占用情况:$ sudo du -a /data | sort -nr | less(单位是KB)