(4)BookService类——书籍管理系统界面,输入指令
(5)BookDAO类——写有操作书籍信息的方法
(6)KindService类——书籍种类管理界面,输入指令
(7)KindDAO类——写有操作书籍种类信息的方法
(8)Main类——图书管理系统界面,选择想进入的系统
(1)增加书籍种类、增加书籍——add(Objectobj)
(2)删除——del(intid)
(3)更改信息——upd(Objectobj)
(4)查询所有——queryAll()
(5)根据编号查询——queryById(intid)
1publicvoidKindMain(){2System.out.println("^^^欢迎来到书籍种类管理系统^^^");3System.out.println("1.添加书籍种类2.根据种类编号删除书籍种类3.修改备注4.根据编号查询书籍种类5.查询所有书籍种类");4System.out.println("请输入你的操作指令:");5intcommand=sc.nextInt();6switch(command){7case1:8//添加书籍种类9add();10break;11case2:12//根据种类编号删除书籍种类13del();14break;15case3:16//修改书籍种类17upd();18break;19case4:20//根据编号查询书籍种类21queryById();22break;23case5:24//查询所有书籍种类25queryAll();26break;27default:28System.out.println("指令错误");29break;30}31}
编写switch结构,根据用户输入的指令进行不同的操作。
publicvoidadd(){Kindxy=newKind();System.out.println("请输入增加的书籍种类名:");Scannersc=newScanner(System.in);Stringxyname=sc.next();System.out.println("请输入书籍种类备注:");Stringcom=sc.next();xy.setKname(xyname);xy.setCom(com);if(newKindDAO().add(xy)){System.out.println("添加成功");}else{System.out.println("添加失败");}}
创建Kind对象xy,用户根据提示输入信息,将信息赋值给xy,接着调用KindDAO类的add方法。
publicbooleanadd(Objectobj){booleanflag=false;try{Stringsql="insertintokind(kname,com)value(,)";//获取连接conn=DbConn.getConn();ps=conn.prepareStatement(sql);Kindxy=(Kind)obj;ps.setString(1,xy.getKname());ps.setString(2,xy.getCom());introws=ps.executeUpdate();if(rows>0){flag=true;}}catch(SQLExceptione){e.printStackTrace();}finally{DbConn.off(conn,ps,null);}returnflag;}
xy对象的信息传递给obj,连接数据库,将值传入数据库中,若数据库表格被影响的行数大于零则说明传入成功。
privatevoiddel(){System.out.println("请输入需要删除的书籍种类编号:");intid=sc.nextInt();if(newKindDAO().del(id)){System.out.println("删除成功");}else{System.out.println("删除失败");}}publicbooleandel(intid){booleanflag=false;try{//获得连接conn=DbConn.getConn();ps=conn.prepareStatement("deletefromkindwherekno="+id);introws=ps.executeUpdate();if(rows>0){flag=true;}}catch(SQLExceptione){e.printStackTrace();}finally{DbConn.off(conn,ps,null);}returnflag;}根据用户输入的指令利用switch结构调用此类的del方法。用户根据提示输入想删除的书籍种类编号,接着调用KindDAO类的del方法:根据传入的id值进行数据库操作,若数据库表格被影响的行数大于零则说明传入成功。
privatevoidqueryAll(){Listlist=newKindDAO().queryAll();for(inti=0;i publicvoidqueryById(){System.out.println("请输入查找的书籍种类编号:");intid=sc.nextInt();Objectobj=newKindDAO().queryById(id);Kindxy=(Kind)obj;System.out.println("书籍种类编号:"+xy.getKno()+",书籍种类名名:"+xy.getKname()+",备注:"+xy.getCom());}publicObjectqueryById(intid){//筛选Kindxy=null;try{conn=DbConn.getConn();ps=conn.prepareStatement("select*fromkindwherekno="+id);//结果集rs=ps.executeQuery();rs.next();intxyid=rs.getInt("kno");Stringname=rs.getString("kname");Stringcom2=rs.getString(3);xy=newKind();xy.setKno(xyid);xy.setKname(name);xy.setCom(com2);}catch(SQLExceptione){e.printStackTrace();}finally{DbConn.off(conn,ps,null);}returnxy;}根据用户输入的指令利用switch结构调用此类的queryById方法。用户根据提示输入书籍种类编号,接着调用KindDAO类的queryById方法,传入id的值,连接数据库,将信息存入Kind类对象xy中,返回xy,然后按照指定模式输出xy。 根据用户输入的指令利用switch结构调用此类的upd方法。 privatevoidupd(){queryAll();System.out.println("请输入需要修改的书籍种类编号:");intxyno=sc.nextInt();Kindxy=newKind();xy.setKno(xyno);if(newKindDAO().upd(xy)){System.out.println("修改成功");}else{System.out.println("修改失败");}} 此类upd方法中先调用queryAll方法输出所有数据库信息,接着用户根据提示输入编号,将编号存入Kind类对象xy的xyno属性中,再调用KindDAO类的upd方法。 publicbooleanupd(Objectobj){//修改简介booleanflag=false;try{Kindxy=(Kind)obj;conn=DbConn.getConn();Scannersc=newScanner(System.in);System.out.println("请输入改成的备注:");Stringcom=sc.next();Stringsql="updatekindsetcom=wherekno="+xy.getKno();ps=conn.prepareStatement(sql);ps.setString(1,com);//执行修改introws=ps.executeUpdate();if(rows>0){flag=true;}}catch(SQLExceptione){e.printStackTrace();}finally{DbConn.off(conn,ps,null);}returnflag;} 用户根据提示输入改成的备注,连接数据库执行修改,若数据库被影响的行数大于零则修改成功,否则修改失败。 编写一个switch结构,根据用户输入的指令利用switch结构调用此类的add方法。 publicvoidBookMain(){System.out.println("^^^欢迎来到书籍管理系统^^^");System.out.println("1.添加书籍2.根据书籍编号删除书籍3.借还书籍(修改书籍数目)4.根据编号查询书籍5.查询所有书籍");System.out.println("请输入你的操作指令:");intcommand=sc.nextInt();switch(command){case1://添加书籍add();break;case2://根据书籍种类编号删除书籍del();break;case3://借还书籍upd();break;case4://根据编号查询书籍queryById();break;case5://查询所有书籍queryAll();break;default:System.out.println("指令错误");break;}} publicvoidadd(){Bookxy=newBook();System.out.println("请输入增加的书籍名:");Scannersc=newScanner(System.in);Stringxyname=sc.next();System.out.println("请输入书籍数量:");intcount=sc.nextInt();System.out.println("请输入书籍种类编号:");intkno=sc.nextInt();xy.setBname(xyname);xy.setCount(count);xy.setKno(kno);if(newBookDAO().add(xy)){System.out.println("添加成功");}else{System.out.println("添加失败");}}此类add方法创建Book对象xy,用户根据提示输入书籍名、书籍数量、书籍编号以及所属的书籍种类编号,将信息存入对象xy中,接着调用BookDAO类的add方法。 publicbooleanadd(Objectobj){booleanflag=false;try{//sqlStringsql="insertintobook(bname,count,kno)value(,,)";//获取连接conn=DbConn.getConn();ps=conn.prepareStatement(sql);Bookxy=(Book)obj;ps.setString(1,xy.getBname());ps.setInt(2,xy.getCount());ps.setInt(3,xy.getKno());introws=ps.executeUpdate();if(rows>0){flag=true;}}catch(SQLExceptione){e.printStackTrace();}finally{DbConn.off(conn,ps,null);}returnflag;}add方法通过参数将对象xy传递给obj,连接数据库执行,若数据库被影响的行数大于零则添加成功,否则添加失败。 privatevoiddel(){System.out.println("请输入需要删除的书籍编号:");intid=sc.nextInt();if(newBookDAO().del(id)){System.out.println("删除成功");}else{System.out.println("删除失败");}}publicbooleandel(intid){booleanflag=false;try{//获得连接conn=DbConn.getConn();ps=conn.prepareStatement("deletefrombookwherebno="+id);introws=ps.executeUpdate();if(rows>0){flag=true;}}catch(SQLExceptione){e.printStackTrace();}finally{DbConn.off(conn,ps,null);}returnflag;}根据用户输入的指令利用switch结构调用此类的del方法。用户根据提示输入需要删除的书籍编号,接着调用BookDAO类的del方法:连接数据库执行,若数据库被影响的行数大于零则删除成功,否则删除失败。 privatevoidqueryAll(){Listlist=newBookDAO().queryAll();for(inti=0;i publicvoidqueryById(){System.out.println("请输入查找的书籍编号:");intid=sc.nextInt();Objectobj=newBookDAO().queryById(id);Bookxy=(Book)obj;System.out.println("书籍编号:"+xy.getBno()+",书籍名:"+xy.getBname()+",数量:"+xy.getCount()+",书籍种类编号:"+xy.getKno());} publicObjectqueryById(intid){Bookxy=null;try{conn=DbConn.getConn();ps=conn.prepareStatement("select*frombookwherebno="+id);//结果集rs=ps.executeQuery();rs.next();intbno=rs.getInt("bno");Stringbname=rs.getString("bname");intcount=rs.getInt(3);intkno=rs.getInt(4);xy=newBook();xy.setBno(bno);xy.setBname(bname);xy.setCount(count);xy.setKno(kno);}catch(SQLExceptione){e.printStackTrace();}finally{DbConn.off(conn,ps,null);}returnxy;}根据用户输入的指令利用switch结构调用此类的queryById方法。用户根据提示输入编号,接着调用BookDAO类的queryById方法:连接数据库,执行语句,将信息存入Book类对象xy中,返回对象xy。再按照规定形式输出。 (1)更改信息:在书籍种类管理中只能更改书籍种类的备注,在书籍管理中只能更改书籍库存数量,其他信息不能修改。