上文对hbase的建表、对数据的插入、查询、删除进行封装
(62条消息) Hbase学习——对表操作进行封装_小镭敲代码的博客-CSDN博客
本文调用封装好的方法,建立学生信息管理系统,实现
1、注册学生信息
2、查看学生信息
3、删除学生信息
4、修改学生信息
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.util.Bytes;
import java.io.IOException;
import java.util.Scanner;
public class StudentTest {
static String tablename = "Student123:stuinfo";
public static void main(String[] args) throws IOException {
HbaseHelper.Exec_CreateNameSpace("Student123");
HbaseHelper.Exec_CreateTable(tablename,"info");
while(true){
System.out.println("欢迎访问学生信息系统");
System.out.println("1、注册学生信息");
System.out.println("2、查看学生信息");
System.out.println("3、删除学生信息");
System.out.println("4、修改学生信息");
Scanner scanner = new Scanner(System.in);
String choice = scanner.next();
switch(choice){
case"1":
System.out.println("调用注册的方法");
AddStu();
break;
case"2":
System.out.println("调用查看的方法");
GetStu();
break;
case"3":
System.out.println("调用删除的方法");
DelStu();
break;
case"4":
System.out.println("调用修改的方法");
ExStu();
break;
}
}
}
public static void AddStu() throws IOException{
Scanner scanner = new Scanner(System.in);
System.out.println("——————————————————————————————");
System.out.println("这里是学生的注册功能界面");
System.out.println("请输入学号:");
String stuid = scanner.next();
System.out.println("请输入姓名:");
String stuname = scanner.next();
System.out.println("请输入年龄:");
String stuage = scanner.next();
boolean r1 = HbaseHelper.Exec_AddData(tablename,"info",stuid,"stuid",stuid);
boolean r2 = HbaseHelper.Exec_AddData(tablename,"info",stuid,"stuname",stuname);
boolean r3 = HbaseHelper.Exec_AddData(tablename,"info",stuid,"stuage",stuage);
if(r1&&r2&&r3){
System.out.println("注册成功");
}
}
public static void DelStu() throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.println("——————————————————————————————");
System.out.println("这里是学生的删除功能界面");
System.out.println("请选择是1、删除整个学生信息 2、删除单个列");
String choice = scanner.next();
String stuid = " ";
if(choice.equals("1")){
System.out.println("请输入学号:");
stuid = scanner.next();
System.out.println(stuid);
boolean r = HbaseHelper.Exec_DelDate(tablename,stuid);
if(r){
System.out.println("删除整行信息成功");
}
}else{
System.out.println("请输入学号:");
stuid = scanner.next();
System.out.println(stuid);
System.out.println("请输入要删除的列(stuid,name,age):");
String delColumn = scanner.next();
boolean r = HbaseHelper.Exec_DelDate(tablename,stuid,"info",delColumn);
if(r){
System.out.println("删除单个单元格信息成功");
}
}
}
public static void GetStu() throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.println("——————————————————————————————");
System.out.println("这里是学生的查询功能界面");
System.out.println("请输入学号:");
String stuid = scanner.next();
Result result = HbaseHelper.Exec_GetDataByRowKey(tablename,stuid);
if(result.isEmpty()){
System.out.println("没有找到该学生的信息");
}else{
for (Cell cell:result.rawCells()){
System.out.println("rowkey:"+ Bytes.toString(CellUtil.cloneRow(cell)));
System.out.println("family:"+ Bytes.toString(CellUtil.cloneFamily(cell)));
System.out.println("column:"+ Bytes.toString(CellUtil.cloneQualifier(cell)));
System.out.println("value:"+ Bytes.toString(CellUtil.cloneValue(cell)));
}
//System.out.println("学号"+Byte.toString(CellUtil.cloneRow(cell))+"姓名"+"年龄");
}
}
public static void ExStu() throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.println("——————————————————————————————");
System.out.println("这里是学生的修改功能界面");
System.out.println("请输入学号:");
String stuid = scanner.next();
System.out.println("请输入要修改的列(stuid/name/age):");
String exchange1 = scanner.next();
System.out.println("请输入要修改的内容");
String exchange2 = scanner.next();
boolean r = HbaseHelper.Exec_AddData(tablename,"info",stuid,exchange1,exchange2);
if(r){
System.out.println("修改成功!");
}
}
}
运行项目,结果展示: