Java项目——模拟电话薄联系人增删改查

2022-12-13,,,

项目模拟了电话本记录联系人的业务功能,用来练习对数据库的增删改查等操作。

菜单类: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项目——模拟电话薄联系人增删改查.doc》

下载本文的Word格式文档,以方便收藏与打印。