Java项目——模拟电话薄联系人增删改查
该项目模拟了电话本记录联系人的业务功能,用来练习对数据库的增删改查等操作。
菜单类:Menu —— 用来封装主菜单和个选项的子菜单
Person类: Person——联系人的实体类
TelNoteRegex类: TelNoteRegex——对姓名、年龄、性别、电话号码、归属地的验证方法
Operate类:Operate——封装业务功能方法
APP类:APP——封装start()-主菜单方法、main()主函数
package com.hq.tel;
/***
*
* @author Administrator
*界面类
*/
public class Menu {
//主界面
public void mainMenu(){
System.out.println("*******************");
System.out.println("** 1 添加记录 **");
System.out.println("** 2 查找记录 **");
System.out.println("** 3 修改记录 **");
System.out.println("** 4 删除记录 **");
System.out.println("** 5 排序记录 **");
System.out.println("** 6 退出系统 **");
System.out.println("*******************");
System.out.println("请输入正确的数字:最小是 1,最大是 6。");
}
//添加记录菜单
public void addMenu(){
System.out.println("********************");
System.out.println("** 1 添加新记录 **");
System.out.println("** 2 查看全记录 **");
System.out.println("** 3 返回上一级 **");
System.out.println("********************");
System.out.println("请输入正确的数字:最小是 1,最大是 3。");
}
//查找记录菜单
public void serachMenu(){
System.out.println("********************");
System.out.println("** 1 按姓名查找 **");
System.out.println("** 2 按年龄查找 **");
System.out.println("** 3 按性别查找 **");
System.out.println("** 4 按号码查找 **");
System.out.println("** 5 按住址查找 **");
System.out.println("** 6 查看全记录 **");
System.out.println("** 7 返回上一级 **");
System.out.println("********************");
System.out.println("请输入正确的数字:最小是 1,最大是 7。");
}
//修改记录主菜单
public void modifyMenu(){
System.out.println("********************");
System.out.println("** 1 查看全记录 **");
System.out.println("** 2 修改指定记录 **");
System.out.println("** 3 返回上一级 **");
System.out.println("********************");
System.out.println("请输入正确的数字:最小是 1,最大是 3。");
}
//修改记录子菜单
public void subModifyMenu(){
System.out.println("*******************");
System.out.println("** 1 修改姓名 **");
System.out.println("** 2 修改年龄 **");
System.out.println("** 3 修改性别 **");
System.out.println("** 4 修改号码 **");
System.out.println("** 5 修改住址 **");
System.out.println("** 6 返回上一级 **");
System.out.println("*******************");
System.out.println("请输入正确的数字:最小是 1,最大是 6。");
}
//删除记录菜单
public void deleteMenu(){
System.out.println("********************");
System.out.println("** 1 查看全记录 **");
System.out.println("** 2 删除指定记录 **");
System.out.println("** 3 删除全部记录 **");
System.out.println("** 4 返回上一级 **");
System.out.println("********************");
System.out.println("请输入正确的数字:最小是 1,最大是 4。");
}
//排序记录菜单
public void orderMenu(){
System.out.println("********************");
System.out.println("** 1 按姓名排序 **");
System.out.println("** 2 按年龄排序 **");
System.out.println("** 3 按性别排序 **");
System.out.println("** 4 查看全记录 **");
System.out.println("** 5 返回上一级 **");
System.out.println("********************");
System.out.println("请输入正确的数字:最小是 1,最大是 5。");
}
}
package com.hq.tel;
/***
*
* @author Administrator
*Person实体类
*/
public class Person {
//属性
private int id; //id号
private String name; //姓名
private int age; //年龄
private String sex; //性别
private String telNUM; //电话号码
private String adress; //住址
//get/set方法
public int getId() { //获取id号
return id;
}
public void setId(int id) { //设置id号
this.id = id;
}
public String getName() { //获取姓名
return name;
}
public void setName(String name) { //设置姓名
this.name = name;
}
public int getAge() { //获取年龄
return age;
}
public void setAge(int age) { //设置年龄
this.age = age;
}
public String getSex() { //获取性别
return sex;
}
public void setSex(String sex) { //设置性别
this.sex = sex;
}
public String getTelNUM() { //获取电话号码
return telNUM;
}
public void setTelNUM(String telNUM) { //设置电话号码
this.telNUM = telNUM;
}
public String getAdress() { //获取地址
return adress;
}
public void setAdress(String adress) { //设置地址
this.adress = adress;
}
//构造方法
public Person(){ //无参构造方法
super();
}
public Person(String name, int age, String sex, String telNUM, String adress) { //含参构造方法
super();
this.name = name;
this.age = age;
this.sex = sex;
this.telNUM = telNUM;
this.adress = adress;
}
//toString 方法
@Override
public String toString() {
return "序号=" + id + ", 姓名 " + name + ", 年龄 " + age + ", 性别 " + sex + ", 电话号码 " + telNUM
+ ", 号码归属地 " + adress + "]";
}
}
package com.hq.tel;
/**
*
* @author Administrator
*用户输入检查类
*/
public class TelNoteRegex {
//对菜单输入项验证
public boolean menuRegex(int max,int min,int shuru){
boolean falg = false;
if(shuru<max && shuru>=min){
falg = true;
}else{
falg = false;
}
return falg;
}
//对用户输入姓名验证
public boolean nameRegex(String name){
boolean falg = false;
if(name.matches("^[a-zA-Z]+$")){
falg = true;
}else{
falg = false;
}
return falg;
}
//对用户输入年龄的验证
public boolean ageRegex(int age){
boolean falg = false;
if(age>0 && age<=100){
falg = true;
}else{
falg = false;
}
return falg;
}
//对用户输入性别的验证
public boolean sexRegex(String sex){
boolean falg = false;
if(sex.equals("男") || sex.equals("m") || sex.equals("M") || sex.equals("女") || sex.equals("f") || sex.equals("F")){
falg = true;
}else{
falg = false;
}
return falg;
}
//对用户输入电话号码的验证
public boolean telNumRegex(String telNum){
boolean falg = false;
if(telNum.matches("^([0-9]{7})?$") || telNum.matches("^([0-9]{11})?$")){
falg = true;
}else{
falg = false;
}
return falg;
}
//对用户输入地址的验证
public boolean addressRegex(String adress){
boolean falg = false;
if(adress.matches("^[\u4E00-\u9FA5]+$") || adress.matches("^[A-Za-z]+$")){
falg = true;
}else{
falg = false;
}
return falg;
}
}
package com.hq.tel; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner; import com.mchange.v2.c3p0.ComboPooledDataSource; /**
*
* @author Administrator
*业务逻辑类
*/
public class Operate {
private List<Person> list = new ArrayList<Person>(); //Person 类型集合
private Connection conn = null; //定义连接
private PreparedStatement ps = null; //定义声明
private ResultSet rs = null; //定义结果集
//创建连接池
ComboPooledDataSource cp = new ComboPooledDataSource("helloc3p0");
//连接数据库
public Connection getConnectionByJDBC() {
try {
conn = cp.getConnection();
} catch (SQLException e) {
System.out.println("数据库连接异常!");
e.printStackTrace();
}
return conn;
}
//输入姓名
@SuppressWarnings("resource")
public String scName(){
String name = null;
while(true){
System.out.println("请输入姓名,1-20位字母:");
Scanner sc = new Scanner(System.in);
try{
String shuru = sc.nextLine();
if(new TelNoteRegex().nameRegex(shuru)){ //检查姓名
name = shuru;
return name;
}else{
System.out.println("姓名检查未通过!");
continue;
}
}catch(Exception e){
System.out.println("数据输入异常!");
continue;
}
}
}
//输入年龄
@SuppressWarnings("resource")
public int scAge(){
int age = 0;
while(true){
try{
System.out.println("请输入年龄,1-100+");
Scanner sc = new Scanner(System.in);
int shuru = sc.nextInt();
if(new TelNoteRegex().ageRegex(shuru)){
age = shuru;
return age;
}else{
System.out.println("年龄检查未通过!");
continue;
}
}catch(Exception e){
System.out.println("数据输入异常!");
continue;
}
}
}
//输入性别
@SuppressWarnings("resource")
public String scSex(){
String sex =null;
while(true){
System.out.println("请输入性别,(男 m or M) (女 f or F):");
Scanner sc = new Scanner(System.in);
try{
String shuru = sc.nextLine();
if(new TelNoteRegex().sexRegex(shuru)){
sex = shuru;
return sex;
}else{
System.out.println("性别检查未通过!");
continue;
}
}catch(Exception e){
System.out.println("数据输入异常!");
continue;
}
}
}
//输入电话号码
@SuppressWarnings("resource")
public String scTelnum(){
String telNum =null;
while(true){
System.out.println("请输入电话号码,11位数字:");
Scanner sc = new Scanner(System.in);
try{
String shuru = sc.nextLine();
if(new TelNoteRegex().telNumRegex(shuru)){
telNum = shuru;
return telNum;
}else{
System.out.println("电话号码检查未通过!");
continue;
}
}catch(Exception e){
System.out.println("数据输入异常!");
continue;
}
}
}
//输入电话所属地址
@SuppressWarnings("resource")
public String scAdress(){
String adress =null;
while(true){
System.out.println("请输入电话所属地,字母或汉字:");
Scanner sc = new Scanner(System.in);
try{
String shuru = sc.nextLine();
if(new TelNoteRegex().addressRegex(shuru)){
adress = shuru;
return adress;
}else{
System.out.println("所属地址检查未通过!");
continue;
}
}catch(Exception e){
System.out.println("数据输入异常!");
e.printStackTrace();
continue;
}
} }
//输入id号
@SuppressWarnings("resource")
public int scid(){
int id = 0;
while(true){
System.out.println("请输入您要修改的id号:");
Scanner sc = new Scanner(System.in);
try{
id = sc.nextInt();
return id;
}catch(Exception e){
System.out.println("数据输入异常!");
e.printStackTrace();
continue;
}
}
}
//用户添加信息业务逻辑控制
public void addLogic(int i){
switch(i){
case 1: //添加新纪录功能
String name = scName(); //接收姓名
int age = scAge(); //接收年龄
String sex = scSex(); //接收性别
String telnum = scTelnum(); //接收电话号码
String adress = scAdress(); //接收归属地
addOperation(name,age,sex,telnum,adress); //调用添加记录方法,进行传值
break;
case 2: //查询全记录功能
for(Person temp : showAll()){ //遍历结果集
System.out.println(temp);
}
break;
//返回上一级
case 3:
break;
default :
System.out.println("选择错误!");
break;
}
}
//添加新用户信息
public void addOperation(String name,int age,String sex,String telNum,String adress){
String sql = "insert into t_telphone values(tel.nextval,?,?,?,?,?)"; //SQL语句
try {
getConnectionByJDBC(); //连接数据库
ps = conn.prepareStatement(sql); //预编辑SQL语句
ps.setString(1, name); //替换通配符
ps.setInt(2, age);
ps.setString(3, sex);
ps.setString(4, telNum);
ps.setString(5, adress);
ps.executeUpdate(); //运行SQL语句
System.out.println("添加联系人成功!");
} catch (SQLException e) {
System.out.println("电话号码已存在,联系人添加失败!");
} finally{
try {
ps.close(); //关闭声明
conn.close(); //关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//查询全记录
public List<Person> showAll(){
String sql = "select * from t_telphone";
try {
getConnectionByJDBC(); //连接数据库
ps = conn.prepareStatement(sql); //预编译
rs = ps.executeQuery(); //执行SQL语句
while(rs.next()){
Person p = new Person();
p.setId(rs.getInt("ID"));
p.setName(rs.getString("NAME"));
p.setAge(rs.getInt("AGE"));
p.setSex(rs.getString("SEX"));
p.setTelNUM(rs.getString("TELNUM"));
p.setAdress(rs.getString("ADDRESS"));
list.add(p); //获取信息,将信息写入集合
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
rs.close(); //关闭结果集
ps.close(); //关闭声明
conn.close(); //关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
//用户查找信息业务逻辑控制
public void searchLogic(int i){
switch(i){
case 1: //按姓名查找
String name = scName();
for(Person temp:searchByName(name)){
System.out.println(temp);
}
break;
case 2: //按年龄查找
int age = scAge();
for(Person temp:searchByAge(age)){
System.out.println(temp);
}
break;
case 3:
String sex = scSex(); //按性别查找
for(Person temp:searchBySex(sex)){
System.out.println(temp);
}
break;
case 4: //按号码查找
String telNum = scTelnum();
searchByTelNum(telNum);
break;
case 5: //按地址查找
String address = scAdress();
for(Person temp:searchByAdd(address)){
System.out.println(temp);
}
break;
case 6: //查询全纪录
for(Person temp : showAll()){
System.out.println(temp);
}
case 7:
break;
default :
System.out.println("输入错误!");
break;
} }
//按姓名查询用户信息
public List<Person> searchByName(String name){
String sql = "select * from t_telphone where name = ?";
try {
getConnectionByJDBC(); //连接数据库
ps = conn.prepareStatement(sql);
ps.setString(1, name);
rs = ps.executeQuery(); //执行SQL语句
while(rs.next()){
Person p = new Person();
p.setId(rs.getInt("ID"));
p.setName(rs.getString("NAME"));
p.setAge(rs.getInt("AGE"));
p.setSex(rs.getString("SEX"));
p.setTelNUM(rs.getString("TELNUM"));
p.setAdress(rs.getString("ADDRESS"));
list.add(p); //获取信息,将信息写入集合
}
} catch (SQLException e) {
e.printStackTrace();
} finally{
try {
rs.close(); //关闭结果集
ps.close(); //关闭声明
conn.close(); //关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
//按年龄查询用户信息
public List<Person> searchByAge(int age){
String sql = "select * from t_telphone where age = ?";
try {
getConnectionByJDBC(); //连接数据库
ps = conn.prepareStatement(sql);
ps.setInt(1, age);
rs = ps.executeQuery(); //执行SQL语句
while(rs.next()){
Person p = new Person();
p.setId(rs.getInt("ID"));
p.setName(rs.getString("NAME"));
p.setAge(rs.getInt("AGE"));
p.setSex(rs.getString("SEX"));
p.setTelNUM(rs.getString("TELNUM"));
p.setAdress(rs.getString("ADDRESS"));
list.add(p); //获取信息,将信息写入集合
}
} catch (SQLException e) {
e.printStackTrace();
} finally{
try {
rs.close(); //关闭结果集
ps.close(); //关闭声明
conn.close(); //关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
//按性别查询用户信息
public List<Person> searchBySex(String sex){
String sqlm = "select * from t_telphone where sex = '男' or sex = 'm' or sex = 'M'"; //查询“男”
String sqlf = "select * from t_telphone where sex = '女' or sex = 'f' or sex = 'F'"; //查询“女”
getConnectionByJDBC(); //连接数据库
if(sex.equals("男") || sex.equals("m") || sex.equals("M")){
try {
ps = conn.prepareStatement(sqlm);
rs = ps.executeQuery();
while(rs.next()){
Person p = new Person();
p.setId(rs.getInt("ID"));
p.setName(rs.getString("NAME"));
p.setAge(rs.getInt("AGE"));
p.setSex(rs.getString("SEX"));
p.setTelNUM(rs.getString("TELNUM"));
p.setAdress(rs.getString("ADDRESS"));
list.add(p); //获取信息,将信息写入集合
}
} catch (SQLException e) {
e.printStackTrace();
} finally{
try {
rs.close();
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}else if(sex.equals("女") || sex.equals("f") || sex.equals("F")){
try {
ps = conn.prepareStatement(sqlf);
rs = ps.executeQuery();
while(rs.next()){
Person p = new Person();
p.setId(rs.getInt("ID"));
p.setName(rs.getString("NAME"));
p.setAge(rs.getInt("AGE"));
p.setSex(rs.getString("SEX"));
p.setTelNUM(rs.getString("TELNUM"));
p.setAdress(rs.getString("ADDRESS"));
list.add(p); //获取信息,将信息写入集合
}
} catch (SQLException e) {
e.printStackTrace();
} finally{
try {
rs.close();
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}else{
System.out.println("性别输入错误!");
}
return list; }
//按电话号码查询
public void searchByTelNum(String telNum){
String sql = "select * from t_telphone where TELNUM = ?";
getConnectionByJDBC(); //连接数据库
try {
ps = conn.prepareStatement(sql);
ps.setString(1, telNum);
rs = ps.executeQuery();
if(rs.next()){
Person p = new Person();
p.setId(rs.getInt("ID"));
p.setName(rs.getString("NAME"));
p.setAge(rs.getInt("AGE"));
p.setSex(rs.getString("SEX"));
p.setTelNUM(rs.getString("TELNUM"));
p.setAdress(rs.getString("ADDRESS"));
System.out.println(p);
}else{
System.out.println("您输入的号码不存在!");
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
rs.close();
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//按地址查询用户信息
public List<Person> searchByAdd(String address){
String sql = "select * from t_telphone where address = ?";
try {
getConnectionByJDBC(); //连接数据库
ps = conn.prepareStatement(sql);
ps.setString(1, address);
rs = ps.executeQuery(); //执行SQL语句
while(rs.next()){
Person p = new Person();
p.setId(rs.getInt("ID"));
p.setName(rs.getString("NAME"));
p.setAge(rs.getInt("AGE"));
p.setSex(rs.getString("SEX"));
p.setTelNUM(rs.getString("TELNUM"));
p.setAdress(rs.getString("ADDRESS"));
list.add(p); //获取信息,将信息写入集合
}
} catch (SQLException e) {
e.printStackTrace();
} finally{
try {
rs.close(); //关闭结果集
ps.close(); //关闭声明
conn.close(); //关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
//修改记录业务逻辑控制
@SuppressWarnings("resource")
public void modifyLogicLogic(int i) {
switch (i) {
// 查看全记录
case 1:
for (Person temp : showAll()) {
System.out.println(temp);
}
break;
// 修改指定记录
case 2:
int id = scid();
while(true){
new Menu().subModifyMenu();
try {
Scanner sc = new Scanner(System.in);
int xZe = sc.nextInt();
System.out.println(xZe);
if (new TelNoteRegex().menuRegex(6, 1, xZe)) {
modifyLoginLogic(xZe, id);
continue;
}else if (xZe == 6) {
break;
} else {
System.out.println("输入有误!");
}
} catch (Exception e) {
System.out.println("选择错误hahaha!");
e.printStackTrace();
}
}
break;
// 返回上一层
case 3:
break;
default:
System.out.println("选择错误!");
break;
}
}
//修改指定记录业务逻辑控制
public void modifyLoginLogic(int i,int id){
switch(i){
//修改姓名
case 1:
String name = scName();
modifyName(name,id);
break;
//修改年龄
case 2:
int age = scAge();
modifyAge(age,id);
break;
//修改性别
case 3:
String sex = scSex();
modifySex(sex,id);
break;
//修改电话号码
case 4:
String telNum = scTelnum();
modifyTelnum(telNum,id);
break;
//修改地址
case 5:
String address = scAdress();
modifyAddress(address,id);
break;
//返回上一级
case 6:
break;
default :
System.out.println("选择错误!");
break;
}
}
//修改姓名
public void modifyName(String name,int id){
String sql = "update t_telphone set name = ? where id = ?";
getConnectionByJDBC();
try {
ps = conn.prepareStatement(sql);
ps.setString(1, name);
ps.setInt(2, id);
if(ps.executeUpdate()==1){
System.out.println("修改姓名成功!");
}else{
System.out.println("修改姓名失败!");
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
ps.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//修改年龄
public void modifyAge(int age,int id){
String sql = "update t_telphone set age = ? where id = ?";
getConnectionByJDBC();
try {
ps = conn.prepareStatement(sql);
ps.setInt(1, age);
ps.setInt(2, id);
if(ps.executeUpdate()==1){
System.out.println("修改年龄成功!");
}else{
System.out.println("修改年龄失败!");
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//修改性别
public void modifySex(String sex,int id){
String sql = "update t_telphone set sex = ? where id = ?";
getConnectionByJDBC();
try {
ps = conn.prepareStatement(sql);
ps.setString(1, sex);
ps.setInt(2, id);
if(ps.executeUpdate()==1){
System.out.println("修改性别成功!");
}else{
System.out.println("修改性别失败!");
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//修改电话号码
public void modifyTelnum(String telNum,int id){
String sql = "update t_telphone set telNum = ? where id = ?";
getConnectionByJDBC();
try {
ps = conn.prepareStatement(sql);
ps.setString(1, telNum);
ps.setInt(2, id);
if(ps.executeUpdate()==1){
System.out.println("修改电话号码成功!");
}else{
System.out.println("修改电话号码失败!");
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//修改地址
public void modifyAddress(String address,int id){
String sql = "update t_telphone set address = ? where id = ?";
getConnectionByJDBC();
try {
ps = conn.prepareStatement(sql);
ps.setString(1, address);
ps.setInt(2, id);
if(ps.executeUpdate()==1){
System.out.println("修改归属地成功!");
}else{
System.out.println("修改归属地失败!");
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//删除信息业务逻辑控制
public void deleteLogic(int i){
switch(i){
//查看全记录
case 1:
for(Person temp:showAll())System.out.println(temp);
break;
//删除指定记录
case 2:
int id = scid();
delete(id);
break;
//删除全部记录
case 3:
deleteAll();
break;
//返回上一级
case 4:
break;
default :
System.out.println("选择错误!");
}
}
//删除指定记录
public void delete(int id){
String sql = "Delete t_telPhone where id = ?";
getConnectionByJDBC();
try {
ps = conn.prepareStatement(sql);
ps.setInt(1, id);
if(ps.executeUpdate()==1){
System.out.println("删除联系人成功!");
}else{
System.out.println("删除联系人失败!");
}
} catch (SQLException e) {
e.printStackTrace();
} }
//删除全部记录
public void deleteAll(){
String sql = "truncate table t_telPhone";
getConnectionByJDBC();
try {
ps = conn.prepareStatement(sql);
ps.executeUpdate();
System.out.println("删除全部联系人成功!");
} catch (SQLException e) {
e.printStackTrace();
}
}
//排序业务逻辑控制
public void orderLogic(int i){
switch(i){
//按姓名排序
case 1:
for(Person temp:orderName())System.out.println(temp);
break;
//按年龄排序
case 2:
for(Person temp:orderAge())System.out.println(temp);
break;
//按性别排序
case 3:
for(Person temp:orderSex())System.out.println(temp);
break;
//查询全记录
case 4:
for(Person temp:showAll())System.out.println(temp);
break;
//返回上一层
case 5:
break;
default:
System.out.println("选择错误!");
}
}
//按姓名排序
public List<Person> orderName(){
String sql = "select * from t_telphone order by name";
try {
getConnectionByJDBC(); //连接数据库
ps = conn.prepareStatement(sql);
rs = ps.executeQuery(); //执行SQL语句
while(rs.next()){
Person p = new Person();
p.setId(rs.getInt("ID"));
p.setName(rs.getString("NAME"));
p.setAge(rs.getInt("AGE"));
p.setSex(rs.getString("SEX"));
p.setTelNUM(rs.getString("TELNUM"));
p.setAdress(rs.getString("ADDRESS"));
list.add(p); //获取信息,将信息写入集合
}
} catch (SQLException e) {
e.printStackTrace();
} finally{
try {
rs.close(); //关闭结果集
ps.close(); //关闭声明
conn.close(); //关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
//按年龄排序
public List<Person> orderAge(){
String sql = "select * from t_telphone order by age";
try {
getConnectionByJDBC(); //连接数据库
ps = conn.prepareStatement(sql);
rs = ps.executeQuery(); //执行SQL语句
while(rs.next()){
Person p = new Person();
p.setId(rs.getInt("ID"));
p.setName(rs.getString("NAME"));
p.setAge(rs.getInt("AGE"));
p.setSex(rs.getString("SEX"));
p.setTelNUM(rs.getString("TELNUM"));
p.setAdress(rs.getString("ADDRESS"));
list.add(p); //获取信息,将信息写入集合
}
} catch (SQLException e) {
e.printStackTrace();
} finally{
try {
rs.close(); //关闭结果集
ps.close(); //关闭声明
conn.close(); //关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
//按用户性别排序
public List<Person> orderSex(){
String sql = "select * from t_telphone order by sex";
try {
getConnectionByJDBC(); //连接数据库
ps = conn.prepareStatement(sql);
rs = ps.executeQuery(); //执行SQL语句
while(rs.next()){
Person p = new Person();
p.setId(rs.getInt("ID"));
p.setName(rs.getString("NAME"));
p.setAge(rs.getInt("AGE"));
p.setSex(rs.getString("SEX"));
p.setTelNUM(rs.getString("TELNUM"));
p.setAdress(rs.getString("ADDRESS"));
list.add(p); //获取信息,将信息写入集合
}
} catch (SQLException e) {
e.printStackTrace();
} finally{
try {
rs.close(); //关闭结果集
ps.close(); //关闭声明
conn.close(); //关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
}
package com.hq.tel; import java.util.Scanner; public class App {
//主菜单控制
@SuppressWarnings({ "resource" })
public static int start(){
int xZe = 0;
while(true){
new Menu().mainMenu();
Scanner sc = new Scanner(System.in);
try{
int shuru = sc.nextInt();
if(new TelNoteRegex().menuRegex(7,1,shuru)){
xZe = shuru;
break;
}else{
continue;
}
}catch(Exception e){
System.out.println("数据输入异常!");
}
}
return xZe;
} @SuppressWarnings("resource")
public static void main(String[] args) {
while(true){
int i = start();
switch (i) { // 运行主界面,并进行选择
// 1 添加记录
case 1:
while(true){
new Menu().addMenu(); //调添加记录子菜单
int shuru = 0;
Scanner sc = new Scanner(System.in);
try {
shuru = sc.nextInt(); //输入选择选项
if(new TelNoteRegex().menuRegex(3, 1, shuru)){ //判断选项合法性
new Operate().addLogic(shuru); //调用添加用户业务逻辑控制
continue;
}else if(shuru == 3){
break;
}else{
continue;
}
} catch (Exception e) {
System.out.println("数据输入异常!");
e.printStackTrace();
continue;
}
}
break;
// 2 查找记录
case 2:
while(true){
new Menu().serachMenu(); //调用查找记录子菜单
int shuru = 0;
Scanner sc = new Scanner(System.in);
try{
shuru = sc.nextInt(); //输入选择选项
if(new TelNoteRegex().menuRegex(7, 1, shuru)){ //判断选项合法性
new Operate().searchLogic(shuru); //调用查找用户信息逻辑
continue;
}else if(shuru == 7){
break;
}else{
continue;
}
}catch(Exception e){
System.out.println("数据输入异常!");
e.printStackTrace();
continue;
}
}
break;
//修改记录
case 3:
while(true){
new Menu().modifyMenu(); //调用修改记录子菜单
int shuru = 0;
Scanner sc = new Scanner(System.in);
try{
shuru = sc.nextInt(); //输入选择选项
if(new TelNoteRegex().menuRegex(3, 1, shuru)){ //判断选项合法性
new Operate().modifyLogicLogic(shuru); //调用修改用户信息逻辑
continue;
}else if(shuru == 3){
break;
}else{
continue;
}
}catch(Exception e){
System.out.println("数据输入异常!");
e.printStackTrace();
continue;
}
}
//删除记录
case 4:
while(true){
new Menu().deleteMenu(); //调用删除记录子菜单
int shuru = 0;
Scanner sc = new Scanner(System.in);
try{
shuru = sc.nextInt(); //输入选择选项
if(new TelNoteRegex().menuRegex(4, 1, shuru)){ //判断选项合法性
new Operate().deleteLogic(shuru); //调用删除用户信息逻辑
continue;
}else if(shuru==4){
break;
}else{
continue;
}
}catch(Exception e){
System.out.println("数据输入异常!");
e.printStackTrace();
continue;
}
}
break;
//排序信息
case 5:
while(true){
new Menu().orderMenu(); //调用排序信息子菜单
int shuru = 0;
Scanner sc = new Scanner(System.in);
try{
shuru = sc.nextInt(); //输入选择选项
if(new TelNoteRegex().menuRegex(5, 1, shuru)){ //判断选项合法性
new Operate().orderLogic(shuru);
continue;
}else if(shuru==5){
break;
}else{
continue;
}
}catch(Exception e){
System.out.println("数据输入异常!");
e.printStackTrace();
continue;
}
}
break;
case 6: //退出系统
break;
}
if(i==6){
break;
}
}
}
}
Java项目——模拟电话薄联系人增删改查的更多相关文章
- java对xml文件做增删改查------摘录
java对xml文件做增删改查 package com.wss; import java.io.File;import java.util.ArrayList;import java.util.Lis ...
- 使用java对sql server进行增删改查
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...
- Java API实现Hadoop文件系统增删改查
Java API实现Hadoop文件系统增删改查 Hadoop文件系统可以通过shell命令hadoop fs -xx进行操作,同时也提供了Java编程接口 maven配置 <project x ...
- 【转载】ASP.NET MVC Web API 学习笔记---联系人增删改查
本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查.目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的.下面我们通过创建一个简单的Web API来管理联系 ...
- 【ES】ElasticSearch初体验之使用Java进行最基本的增删改查~
好久没写博文了, 最近项目中使用到了ElaticSearch相关的一些内容, 刚好自己也来做个总结. 现在自己也只能算得上入门, 总结下自己在工作中使用Java操作ES的一些小经验吧. 本文总共分为三 ...
- ASP.NET MVC Web API 学习笔记---联系人增删改查
本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查. 目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的. 下面我们通过创建一个简单的Web API来管理 ...
- ssm项目框架搭建(增删改查案例实现)——(SpringMVC+Spring+mybatis项目整合)
Spring 常用注解 内容 一.基本概念 1. Spring 2. SpringMVC 3. MyBatis 二.开发环境搭建 1. 创建 maven 项目 2. SSM整合 2.1 项目结构图 2 ...
- Java Web(十) JDBC的增删改查,C3P0等连接池,dbutils框架的使用
前面做了一个非常垃圾的小demo,真的无法直面它,菜的抠脚啊,真的菜,好好努力把.菜鸡. --WH 一.JDBC是什么? Java Data Base Connectivity,java数据库连接,在 ...
- ElasticSearch6(三)-- Java API实现简单的增删改查
基于ElasticSearch6.2.4, Java API创建索引.查询.修改.删除,pom依赖和获取es连接 可查看此文章. package com.xsjt.learn; import java ...
随机推荐
- MySQL中GROUP_CONCAT中排序
SELECT concat('',group_concat(option_name )) as option_name,select_id FROM zuyi_t_search ...
- 【洛谷P2889】Milking Time
很容易想到以结束时间加上R从小到大排序 之后怎样呢? 我们按层考虑,f[i]表示前i个时间段嫩得到的最大价值 每次枚举其之前的状态,如果其ed<当前i的st,那么取max即可 #include& ...
- ILSpy搜索功能加强版
1.修改搜索功能,增加如下的额外搜索选项 A.按文本搜索(默认选项) B.按通配符搜索 C.按正则表达式搜索 2.搜索增加如下特性: A.可以按照名字空间检索特定名字空间下的所有类. B.修正了官方版 ...
- 编译器错误信息: CS0433: 类型“ASP.usercontrols_total_ascx”同时存在
“/”应用程序中的服务器错误. 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地修改源代码. 编译器错误信息: CS0433: 类型“ASP.use ...
- Bookstore project using XAMPP 详细配置 Part 3
3. Create PHP 1) “Sublime Text” is used as text editor. 2) HTML part of “hello.php” was created as s ...
- 搭建 SubversionEdge for VS
1. 需要软件 SubversionEdge , AnkhSvn,TortoiseSVN: 2. 安装3个软件,一路Next 3. 安装完SubversionEdge 后,会打开一个网页http:// ...
- Webstorm 2016内置web服务器配置
运行three.js的官方的例子.本来想用IIS来运行,运行不了.所以用webstorm,用鼠标右键的方式,来运行,如下图 但是有一天,我把IIS配置好了,可以在IIS中运行了(只是把build文件夹 ...
- 调试SQLSERVER (三)使用Windbg调试SQLSERVER的一些命令
调试SQLSERVER (三)使用Windbg调试SQLSERVER的一些命令 调试SQLSERVER (一)生成dump文件的方法调试SQLSERVER (二)使用Windbg调试SQLSERVER ...
- Asp.net MVC4 与 Web Form 并存
Web Forms 与 MVC 的asp.net 基础架构是相同的.MVC 的路由机制并不只MVC 特有的,它与WebForm 也是共享相同的路由机制.Web Forms 的Http请求针 ...
- [Xamarin] 從Xamarin中呼叫 *.jar 的 library - 呼叫篇 (转帖)
上篇文章我們建立一個很簡單的Library : com.example.blackfactory.UtilFunc 現在我們要在Xamarin 中呼叫囉! 首先我們要先成立一個橋接的專案 JARBri ...