java修改联系人_Java项目——模拟电话薄联系人增删改查

1 packagecom.hq.tel;2

3 importjava.sql.Connection;4 importjava.sql.PreparedStatement;5 importjava.sql.ResultSet;6 importjava.sql.SQLException;7 importjava.util.ArrayList;8 importjava.util.List;9 importjava.util.Scanner;10

11 importcom.mchange.v2.c3p0.ComboPooledDataSource;12

13 /**

14 *15 *@authorAdministrator16 *业务逻辑类17 */

18 public classOperate {19 private List list = new ArrayList(); //Person 类型集合

20 private Connection conn = null; //定义连接

21 private PreparedStatement ps = null; //定义声明

22 private ResultSet rs = null; //定义结果集23 //创建连接池

24 ComboPooledDataSource cp = new ComboPooledDataSource("helloc3p0");25 //连接数据库

26 publicConnection getConnectionByJDBC() {27 try{28 conn =cp.getConnection();29 } catch(SQLException e) {30 System.out.println("数据库连接异常!");31 e.printStackTrace();32 }33 returnconn;34 }35 //输入姓名

36 @SuppressWarnings("resource")37 publicString scName(){38 String name = null;39 while(true){40 System.out.println("请输入姓名,1-20位字母:");41 Scanner sc = newScanner(System.in);42 try{43 String shuru =sc.nextLine();44 if(new TelNoteRegex().nameRegex(shuru)){ //检查姓名

45 name =shuru;46 returnname;47 }else{48 System.out.println("姓名检查未通过!");49 continue;50 }51 }catch(Exception e){52 System.out.println("数据输入异常!");53 continue;54 }55 }56 }57 //输入年龄

58 @SuppressWarnings("resource")59 public intscAge(){60 int age = 0;61 while(true){62 try{63 System.out.println("请输入年龄,1-100+");64 Scanner sc = newScanner(System.in);65 int shuru =sc.nextInt();66 if(newTelNoteRegex().ageRegex(shuru)){67 age =shuru;68 returnage;69 }else{70 System.out.println("年龄检查未通过!");71 continue;72 }73 }catch(Exception e){74 System.out.println("数据输入异常!");75 continue;76 }77 }78 }79 //输入性别

80 @SuppressWarnings("resource")81 publicString scSex(){82 String sex =null;83 while(true){84 System.out.println("请输入性别,(男 m or M) (女 f or F):");85 Scanner sc = newScanner(System.in);86 try{87 String shuru =sc.nextLine();88 if(newTelNoteRegex().sexRegex(shuru)){89 sex =shuru;90 returnsex;91 }else{92 System.out.println("性别检查未通过!");93 continue;94 }95 }catch(Exception e){96 System.out.println("数据输入异常!");97 continue;98 }99 }100 }101 //输入电话号码

102 @SuppressWarnings("resource")103 publicString scTelnum(){104 String telNum =null;105 while(true){106 System.out.println("请输入电话号码,11位数字:");107 Scanner sc = newScanner(System.in);108 try{109 String shuru =sc.nextLine();110 if(newTelNoteRegex().telNumRegex(shuru)){111 telNum =shuru;112 returntelNum;113 }else{114 System.out.println("电话号码检查未通过!");115 continue;116 }117 }catch(Exception e){118 System.out.println("数据输入异常!");119 continue;120 }121 }122 }123 //输入电话所属地址

124 @SuppressWarnings("resource")125 publicString scAdress(){126 String adress =null;127 while(true){128 System.out.println("请输入电话所属地,字母或汉字:");129 Scanner sc = newScanner(System.in);130 try{131 String shuru =sc.nextLine();132 if(newTelNoteRegex().addressRegex(shuru)){133 adress =shuru;134 returnadress;135 }else{136 System.out.println("所属地址检查未通过!");137 continue;138 }139 }catch(Exception e){140 System.out.println("数据输入异常!");141 e.printStackTrace();142 continue;143 }144 }145

146 }147 //输入id号

148 @SuppressWarnings("resource")149 public intscid(){150 int id = 0;151 while(true){152 System.out.println("请输入您要修改的id号:");153 Scanner sc = newScanner(System.in);154 try{155 id =sc.nextInt();156 returnid;157 }catch(Exception e){158 System.out.println("数据输入异常!");159 e.printStackTrace();160 continue;161 }162 }163 }164 //用户添加信息业务逻辑控制

165 public void addLogic(inti){166 switch(i){167 case 1: //添加新纪录功能

168 String name = scName(); //接收姓名

169 int age = scAge(); //接收年龄

170 String sex = scSex(); //接收性别

171 String telnum = scTelnum(); //接收电话号码

172 String adress = scAdress(); //接收归属地

173 addOperation(name,age,sex,telnum,adress); //调用添加记录方法,进行传值

174 break;175 case 2: //查询全记录功能

176 for(Person temp : showAll()){ //遍历结果集

177 System.out.println(temp);178 }179 break;180 //返回上一级

181 case 3:182 break;183 default:184 System.out.println("选择错误!");185 break;186 }187 }188 //添加新用户信息

189 public void addOperation(String name,intage,String sex,String telNum,String adress){190 String sql = "insert into t_telphone values(tel.nextval,?,?,?,?,?)"; //SQL语句

191 try{192 getConnectionByJDBC(); //连接数据库

193 ps = conn.prepareStatement(sql); //预编辑SQL语句

194 ps.setString(1, name); //替换通配符

195 ps.setInt(2, age);196 ps.setString(3, sex);197 ps.setString(4, telNum);198 ps.setString(5, adress);199 ps.executeUpdate(); //运行SQL语句

200 System.out.println("添加联系人成功!");201 } catch(SQLException e) {202 System.out.println("电话号码已存在,联系人添加失败!");203 } finally{204 try{205 ps.close(); //关闭声明

206 conn.close(); //关闭连接

207 } catch(SQLException e) {208 e.printStackTrace();209 }210 }211 }212 //查询全记录

213 public ListshowAll(){214 String sql = "select * from t_telphone";215 try{216 getConnectionByJDBC(); //连接数据库

217 ps = conn.prepareStatement(sql); //预编译

218 rs = ps.executeQuery(); //执行SQL语句

219 while(rs.next()){220 Person p = newPerson();221 p.setId(rs.getInt("ID"));222 p.setName(rs.getString("NAME"));223 p.setAge(rs.getInt("AGE"));224 p.setSex(rs.getString("SEX"));225 p.setTelNUM(rs.getString("TELNUM"));226 p.setAdress(rs.getString("ADDRESS"));227 list.add(p); //获取信息,将信息写入集合

228 }229 } catch(SQLException e) {230 e.printStackTrace();231 }finally{232 try{233 rs.close(); //关闭结果集

234 ps.close(); //关闭声明

235 conn.close(); //关闭连接

236 } catch(SQLException e) {237 e.printStackTrace();238 }239 }240 returnlist;241 }242 //用户查找信息业务逻辑控制

243 public void searchLogic(inti){244 switch(i){245 case 1: //按姓名查找

246 String name =scName();247 for(Person temp:searchByName(name)){248 System.out.println(temp);249 }250 break;251 case 2: //按年龄查找

252 int age =scAge();253 for(Person temp:searchByAge(age)){254 System.out.println(temp);255 }256 break;257 case 3:258 String sex = scSex(); //按性别查找

259 for(Person temp:searchBySex(sex)){260 System.out.println(temp);261 }262 break;263 case 4: //按号码查找

264 String telNum =scTelnum();265 searchByTelNum(telNum);266 break;267 case 5: //按地址查找

268 String address =scAdress();269 for(Person temp:searchByAdd(address)){270 System.out.println(temp);271 }272 break;273 case 6: //查询全纪录

274 for(Person temp : showAll()){275 System.out.println(temp);276 }277 case 7:278 break;279 default:280 System.out.println("输入错误!");281 break;282 }283

284 }285 //按姓名查询用户信息

286 public ListsearchByName(String name){287 String sql = "select * from t_telphone where name = ?";288 try{289 getConnectionByJDBC(); //连接数据库

290 ps =conn.prepareStatement(sql);291 ps.setString(1, name);292 rs = ps.executeQuery(); //执行SQL语句

293 while(rs.next()){294 Person p = newPerson();295 p.setId(rs.getInt("ID"));296 p.setName(rs.getString("NAME"));297 p.setAge(rs.getInt("AGE"));298 p.setSex(rs.getString("SEX"));299 p.setTelNUM(rs.getString("TELNUM"));300 p.setAdress(rs.getString("ADDRESS"));301 list.add(p); //获取信息,将信息写入集合

302 }303 } catch(SQLException e) {304 e.printStackTrace();305 } finally{306 try{307 rs.close(); //关闭结果集

308 ps.close(); //关闭声明

309 conn.close(); //关闭连接

310 } catch(SQLException e) {311 e.printStackTrace();312 }313 }314 returnlist;315 }316 //按年龄查询用户信息

317 public List searchByAge(intage){318 String sql = "select * from t_telphone where age = ?";319 try{320 getConnectionByJDBC(); //连接数据库

321 ps =conn.prepareStatement(sql);322 ps.setInt(1, age);323 rs = ps.executeQuery(); //执行SQL语句

324 while(rs.next()){325 Person p = newPerson();326 p.setId(rs.getInt("ID"));327 p.setName(rs.getString("NAME"));328 p.setAge(rs.getInt("AGE"));329 p.setSex(rs.getString("SEX"));330 p.setTelNUM(rs.getString("TELNUM"));331 p.setAdress(rs.getString("ADDRESS"));332 list.add(p); //获取信息,将信息写入集合

333 }334 } catch(SQLException e) {335 e.printStackTrace();336 } finally{337 try{338 rs.close(); //关闭结果集

339 ps.close(); //关闭声明

340 conn.close(); //关闭连接

341 } catch(SQLException e) {342 e.printStackTrace();343 }344 }345 returnlist;346 }347 //按性别查询用户信息

348 public ListsearchBySex(String sex){349 String sqlm = "select * from t_telphone where sex = '男' or sex = 'm' or sex = 'M'"; //查询“男”

350 String sqlf = "select * from t_telphone where sex = '女' or sex = 'f' or sex = 'F'"; //查询“女”

351 getConnectionByJDBC(); //连接数据库

352 if(sex.equals("男") || sex.equals("m") || sex.equals("M")){353 try{354 ps =conn.prepareStatement(sqlm);355 rs =ps.executeQuery();356 while(rs.next()){357 Person p = newPerson();358 p.setId(rs.getInt("ID"));359 p.setName(rs.getString("NAME"));360 p.setAge(rs.getInt("AGE"));361 p.setSex(rs.getString("SEX"));362 p.setTelNUM(rs.getString("TELNUM"));363 p.setAdress(rs.getString("ADDRESS"));364 list.add(p); //获取信息,将信息写入集合

365 }366 } catch(SQLException e) {367 e.printStackTrace();368 } finally{369 try{370 rs.close();371 ps.close();372 conn.close();373 } catch(SQLException e) {374 e.printStackTrace();375 }376 }377 }else if(sex.equals("女") || sex.equals("f") || sex.equals("F")){378 try{379 ps =conn.prepareStatement(sqlf);380 rs =ps.executeQuery();381 while(rs.next()){382 Person p = newPerson();383 p.setId(rs.getInt("ID"));384 p.setName(rs.getString("NAME"));385 p.setAge(rs.getInt("AGE"));386 p.setSex(rs.getString("SEX"));387 p.setTelNUM(rs.getString("TELNUM"));388 p.setAdress(rs.getString("ADDRESS"));389 list.add(p); //获取信息,将信息写入集合

390 }391 } catch(SQLException e) {392 e.printStackTrace();393 } finally{394 try{395 rs.close();396 ps.close();397 conn.close();398 } catch(SQLException e) {399 e.printStackTrace();400 }401 }402 }else{403 System.out.println("性别输入错误!");404 }405 returnlist;406

407 }408 //按电话号码查询

409 public voidsearchByTelNum(String telNum){410 String sql = "select * from t_telphone where TELNUM = ?";411 getConnectionByJDBC(); //连接数据库

412 try{413 ps =conn.prepareStatement(sql);414 ps.setString(1, telNum);415 rs =ps.executeQuery();416 if(rs.next()){417 Person p = newPerson();418 p.setId(rs.getInt("ID"));419 p.setName(rs.getString("NAME"));420 p.setAge(rs.getInt("AGE"));421 p.setSex(rs.getString("SEX"));422 p.setTelNUM(rs.getString("TELNUM"));423 p.setAdress(rs.getString("ADDRESS"));424 System.out.println(p);425 }else{426 System.out.println("您输入的号码不存在!");427 }428 } catch(SQLException e) {429 e.printStackTrace();430 }finally{431 try{432 rs.close();433 ps.close();434 conn.close();435 } catch(SQLException e) {436 e.printStackTrace();437 }438 }439 }440 //按地址查询用户信息

441 public ListsearchByAdd(String address){442 String sql = "select * from t_telphone where address = ?";443 try{444 getConnectionByJDBC(); //连接数据库

445 ps =conn.prepareStatement(sql);446 ps.setString(1, address);447 rs = ps.executeQuery(); //执行SQL语句

448 while(rs.next()){449 Person p = newPerson();450 p.setId(rs.getInt("ID"));451 p.setName(rs.getString("NAME"));452 p.setAge(rs.getInt("AGE"));453 p.setSex(rs.getString("SEX"));454 p.setTelNUM(rs.getString("TELNUM"));455 p.setAdress(rs.getString("ADDRESS"));456 list.add(p); //获取信息,将信息写入集合

457 }458 } catch(SQLException e) {459 e.printStackTrace();460 } finally{461 try{462 rs.close(); //关闭结果集

463 ps.close(); //关闭声明

464 conn.close(); //关闭连接

465 } catch(SQLException e) {466 e.printStackTrace();467 }468 }469 returnlist;470 }471 //修改记录业务逻辑控制

472 @SuppressWarnings("resource")473 public void modifyLogicLogic(inti) {474 switch(i) {475 //查看全记录

476 case 1:477 for(Person temp : showAll()) {478 System.out.println(temp);479 }480 break;481 //修改指定记录

482 case 2:483 int id =scid();484 while(true){485 newMenu().subModifyMenu();486 try{487 Scanner sc = newScanner(System.in);488 int xZe =sc.nextInt();489 System.out.println(xZe);490 if (new TelNoteRegex().menuRegex(6, 1, xZe)) {491 modifyLoginLogic(xZe, id);492 continue;493 }else if (xZe == 6) {494 break;495 } else{496 System.out.println("输入有误!");497 }498 } catch(Exception e) {499 System.out.println("选择错误hahaha!");500 e.printStackTrace();501 }502 }503 break;504 //返回上一层

505 case 3:506 break;507 default:508 System.out.println("选择错误!");509 break;510 }511 }512 //修改指定记录业务逻辑控制

513 public void modifyLoginLogic(int i,intid){514 switch(i){515 //修改姓名

516 case 1:517 String name =scName();518 modifyName(name,id);519 break;520 //修改年龄

521 case 2:522 int age =scAge();523 modifyAge(age,id);524 break;525 //修改性别

526 case 3:527 String sex =scSex();528 modifySex(sex,id);529 break;530 //修改电话号码

531 case 4:532 String telNum =scTelnum();533 modifyTelnum(telNum,id);534 break;535 //修改地址

536 case 5:537 String address =scAdress();538 modifyAddress(address,id);539 break;540 //返回上一级

541 case 6:542 break;543 default:544 System.out.println("选择错误!");545 break;546 }547 }548 //修改姓名

549 public void modifyName(String name,intid){550 String sql = "update t_telphone set name = ? where id = ?";551 getConnectionByJDBC();552 try{553 ps =conn.prepareStatement(sql);554 ps.setString(1, name);555 ps.setInt(2, id);556 if(ps.executeUpdate()==1){557 System.out.println("修改姓名成功!");558 }else{559 System.out.println("修改姓名失败!");560 }561 } catch(SQLException e) {562 e.printStackTrace();563 }finally{564 try{565 ps.close();566 conn.close();567 } catch(Exception e) {568 e.printStackTrace();569 }570 }571 }572 //修改年龄

573 public void modifyAge(int age,intid){574 String sql = "update t_telphone set age = ? where id = ?";575 getConnectionByJDBC();576 try{577 ps =conn.prepareStatement(sql);578 ps.setInt(1, age);579 ps.setInt(2, id);580 if(ps.executeUpdate()==1){581 System.out.println("修改年龄成功!");582 }else{583 System.out.println("修改年龄失败!");584 }585 } catch(SQLException e) {586 e.printStackTrace();587 }finally{588 try{589 ps.close();590 conn.close();591 } catch(SQLException e) {592 e.printStackTrace();593 }594 }595 }596 //修改性别

597 public void modifySex(String sex,intid){598 String sql = "update t_telphone set sex = ? where id = ?";599 getConnectionByJDBC();600 try{601 ps =conn.prepareStatement(sql);602 ps.setString(1, sex);603 ps.setInt(2, id);604 if(ps.executeUpdate()==1){605 System.out.println("修改性别成功!");606 }else{607 System.out.println("修改性别失败!");608 }609 } catch(SQLException e) {610 e.printStackTrace();611 }finally{612 try{613 ps.close();614 conn.close();615 } catch(SQLException e) {616 e.printStackTrace();617 }618 }619 }620 //修改电话号码

621 public void modifyTelnum(String telNum,intid){622 String sql = "update t_telphone set telNum = ? where id = ?";623 getConnectionByJDBC();624 try{625 ps =conn.prepareStatement(sql);626 ps.setString(1, telNum);627 ps.setInt(2, id);628 if(ps.executeUpdate()==1){629 System.out.println("修改电话号码成功!");630 }else{631 System.out.println("修改电话号码失败!");632 }633 } catch(SQLException e) {634 e.printStackTrace();635 }finally{636 try{637 ps.close();638 conn.close();639 } catch(SQLException e) {640 e.printStackTrace();641 }642 }643 }644 //修改地址

645 public void modifyAddress(String address,intid){646 String sql = "update t_telphone set address = ? where id = ?";647 getConnectionByJDBC();648 try{649 ps =conn.prepareStatement(sql);650 ps.setString(1, address);651 ps.setInt(2, id);652 if(ps.executeUpdate()==1){653 System.out.println("修改归属地成功!");654 }else{655 System.out.println("修改归属地失败!");656 }657 } catch(SQLException e) {658 e.printStackTrace();659 }finally{660 try{661 ps.close();662 conn.close();663 } catch(SQLException e) {664 e.printStackTrace();665 }666 }667 }668 //删除信息业务逻辑控制

669 public void deleteLogic(inti){670 switch(i){671 //查看全记录

672 case 1:673 for(Person temp:showAll())System.out.println(temp);674 break;675 //删除指定记录

676 case 2:677 int id =scid();678 delete(id);679 break;680 //删除全部记录

681 case 3:682 deleteAll();683 break;684 //返回上一级

685 case 4:686 break;687 default:688 System.out.println("选择错误!");689 }690 }691 //删除指定记录

692 public void delete(intid){693 String sql = "Delete t_telPhone where id = ?";694 getConnectionByJDBC();695 try{696 ps =conn.prepareStatement(sql);697 ps.setInt(1, id);698 if(ps.executeUpdate()==1){699 System.out.println("删除联系人成功!");700 }else{701 System.out.println("删除联系人失败!");702 }703 } catch(SQLException e) {704 e.printStackTrace();705 }706

707 }708 //删除全部记录

709 public voiddeleteAll(){710 String sql = "truncate table t_telPhone";711 getConnectionByJDBC();712 try{713 ps =conn.prepareStatement(sql);714 ps.executeUpdate();715 System.out.println("删除全部联系人成功!");716 } catch(SQLException e) {717 e.printStackTrace();718 }719 }720 //排序业务逻辑控制

721 public void orderLogic(inti){722 switch(i){723 //按姓名排序

724 case 1:725 for(Person temp:orderName())System.out.println(temp);726 break;727 //按年龄排序

728 case 2:729 for(Person temp:orderAge())System.out.println(temp);730 break;731 //按性别排序

732 case 3:733 for(Person temp:orderSex())System.out.println(temp);734 break;735 //查询全记录

736 case 4:737 for(Person temp:showAll())System.out.println(temp);738 break;739 //返回上一层

740 case 5:741 break;742 default:743 System.out.println("选择错误!");744 }745 }746 //按姓名排序

747 public ListorderName(){748 String sql = "select * from t_telphone order by name";749 try{750 getConnectionByJDBC(); //连接数据库

751 ps =conn.prepareStatement(sql);752 rs = ps.executeQuery(); //执行SQL语句

753 while(rs.next()){754 Person p = newPerson();755 p.setId(rs.getInt("ID"));756 p.setName(rs.getString("NAME"));757 p.setAge(rs.getInt("AGE"));758 p.setSex(rs.getString("SEX"));759 p.setTelNUM(rs.getString("TELNUM"));760 p.setAdress(rs.getString("ADDRESS"));761 list.add(p); //获取信息,将信息写入集合

762 }763 } catch(SQLException e) {764 e.printStackTrace();765 } finally{766 try{767 rs.close(); //关闭结果集

768 ps.close(); //关闭声明

769 conn.close(); //关闭连接

770 } catch(SQLException e) {771 e.printStackTrace();772 }773 }774 returnlist;775 }776 //按年龄排序

777 public ListorderAge(){778 String sql = "select * from t_telphone order by age";779 try{780 getConnectionByJDBC(); //连接数据库

781 ps =conn.prepareStatement(sql);782 rs = ps.executeQuery(); //执行SQL语句

783 while(rs.next()){784 Person p = newPerson();785 p.setId(rs.getInt("ID"));786 p.setName(rs.getString("NAME"));787 p.setAge(rs.getInt("AGE"));788 p.setSex(rs.getString("SEX"));789 p.setTelNUM(rs.getString("TELNUM"));790 p.setAdress(rs.getString("ADDRESS"));791 list.add(p); //获取信息,将信息写入集合

792 }793 } catch(SQLException e) {794 e.printStackTrace();795 } finally{796 try{797 rs.close(); //关闭结果集

798 ps.close(); //关闭声明

799 conn.close(); //关闭连接

800 } catch(SQLException e) {801 e.printStackTrace();802 }803 }804 returnlist;805 }806 //按用户性别排序

807 public ListorderSex(){808 String sql = "select * from t_telphone order by sex";809 try{810 getConnectionByJDBC(); //连接数据库

811 ps =conn.prepareStatement(sql);812 rs = ps.executeQuery(); //执行SQL语句

813 while(rs.next()){814 Person p = newPerson();815 p.setId(rs.getInt("ID"));816 p.setName(rs.getString("NAME"));817 p.setAge(rs.getInt("AGE"));818 p.setSex(rs.getString("SEX"));819 p.setTelNUM(rs.getString("TELNUM"));820 p.setAdress(rs.getString("ADDRESS"));821 list.add(p); //获取信息,将信息写入集合

822 }823 } catch(SQLException e) {824 e.printStackTrace();825 } finally{826 try{827 rs.close(); //关闭结果集

828 ps.close(); //关闭声明

829 conn.close(); //关闭连接

830 } catch(SQLException e) {831 e.printStackTrace();832 }833 }834 returnlist;835 }836 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值