java系统-图书管理系统

来源:互联网 发布:淘宝店铺金额在哪 编辑:程序博客网 时间:2024/05/17 02:38

(1)在Oracle数据库中创建book、booktype、users、admin、borrowbook、reader、zjtype表

create table book(......);create table booktype(......);create table users(......);create table admin(......);create table borrowbook(......);create table reader(......);create table zjtype(......);


(2)封装各个表的属性

import java.io.Serializable;//封装book表public class Book implements Serializable{private String isbn;                          private int typeid;                         private String bookname;                         private String writer;                       private String translater;                         private String publisher;                        private String publishdate;                         private double price;private int state;public String toString(Book b){String str=null;if(b.getState()==1){str="《"+b.getBookname()+"》"+"已借出!";}else{str="《"+b.getBookname()+"》"+"未被借出,可以进行借阅!";}return str;}public int getState() {return state;}public void setState(int state) {this.state = state;}public String getIsbn() {return isbn;}public void setIsbn(String isbn) {this.isbn = isbn;}public int getTypeid() {return typeid;}public void setTypeid(int typeid) {this.typeid = typeid;}public String getBookname() {return bookname;}public void setBookname(String bookname) {this.bookname = bookname;}public String getWriter() {return writer;}public void setWriter(String writer) {this.writer = writer;}public String getTranslater() {return translater;}public void setTranslater(String translater) {this.translater = translater;}public String getPublisher() {return publisher;}public void setPublisher(String publisher) {this.publisher = publisher;}public String getPublishdate() {return publishdate;}public void setPublishdate(String publishdate) {this.publishdate = publishdate;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}}
import java.io.Serializable;//封装booktype表public class Booktype implements Serializable{private String typename;private int id;public String getTypename() {return typename;}public void setTypename(String typename) {this.typename = typename;}public int getId() {return id;}public void setId(int id) {this.id = id;}}
import java.io.Serializable;//封装users表public class Users implements Serializable{private int id;private String name;private String sex;private int age;private String identitycard;private String workdate;private String tel;private int yajin;private String password;private String admin;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getIdentitycard() {return identitycard;}public void setIdentitycard(String identitycard) {this.identitycard = identitycard;}public String getWorkdate() {return workdate;}public void setWorkdate(String workdate) {this.workdate = workdate;}public String getTel() {return tel;}public void setTel(String tel) {this.tel = tel;}public int getYajin() {return yajin;}public void setYajin(int yajin) {this.yajin = yajin;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getAdmin() {return admin;}public void setAdmin(String admin) {this.admin = admin;}}
import java.io.Serializable;//封装admin表public class Admin implements Serializable{    private String name;    private String password;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}
import java.io.Serializable;//封装reader表public class Reader implements Serializable{private int id;private String name;private String sex;private int age;private String identitycard;private String nowdate;private int maxnum;private String tel;private int keepmoney;private int zj;private String zy;private String bztime;private String password;public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getNowdate() {return nowdate;}public void setNowdate(String nowdate) {this.nowdate = nowdate;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getIdentitycard() {return identitycard;}public void setIdentitycard(String identitycard) {this.identitycard = identitycard;}public int getMaxnum() {return maxnum;}public void setMaxnum(int maxnum) {this.maxnum = maxnum;}public String getTel() {return tel;}public void setTel(String tel) {this.tel = tel;}public int getKeepmoney() {return keepmoney;}public void setKeepmoney(int keepmoney) {this.keepmoney = keepmoney;}public int getZj() {return zj;}public void setZj(int zj) {this.zj = zj;}public String getZy() {return zy;}public void setZy(String zy) {this.zy = zy;}public String getBztime() {return bztime;}public void setBztime(String bztime) {this.bztime = bztime;}}
import java.io.Serializable;//封装borrowbook表public class Borrowbook implements Serializable{private String borrower;private String bookname;private String borrowdate;private String returntime;public String getBorrower() {return borrower;}public void setBorrower(String borrower) {this.borrower = borrower;}public String getBookname() {return bookname;}public void setBookname(String bookname) {this.bookname = bookname;}public String getBorrowdate() {return borrowdate;}public void setBorrowdate(String borrowdate) {this.borrowdate = borrowdate;}public String getReturntime() {return returntime;}public void setReturntime(String returntime) {this.returntime = returntime;}}
import java.io.Serializable;//封装zjtype表public class Zjtype implements Serializable{    private int zjid;    private String typename;    private String power;public int getZjid() {return zjid;}public void setZjid(int zjid) {this.zjid = zjid;}public String getTypename() {return typename;}public void setTypename(String typename) {this.typename = typename;}public String getPower() {return power;}public void setPower(String power) {this.power = power;}}

(3)创建BaseDao类

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class BaseDao {    public Connection initConnection() throws Exception{    Class.forName("oracle.jdbc.driver.OracleDriver");    String url="jdbc:oracle:thin:@localhost:1521:XE";    Connection conn=DriverManager.getConnection(url,"system","xajz");    return conn;    }    public void closeConnection(Connection conn) throws Exception{    if(conn!=null&&!conn.isClosed()){    conn.close();    conn=null;    }    }        public int executeupdate(Connection conn,String sql) throws Exception{    int count=0;    if(conn!=null&&!conn.isClosed()){    Statement stm=conn.createStatement();    count=stm.executeUpdate(sql);    }    return count;    }        public ResultSet executeQuery(Connection conn,String sql) throws Exception{    ResultSet rs=null;    if(conn!=null&&!conn.isClosed()){    Statement stm=conn.createStatement();    rs=stm.executeQuery(sql);    }    return rs;    }}

(4)创建各表进行增删改查的数据连接类

import java.sql.*;import java.util.*;import xinxilei.Book;public class BookDao extends BaseDao{    //添加图书    public int saveinsert(Book b) throws Exception{    String sql="insert into book values('"+b.getIsbn()+"',"+b.getTypeid()+",'"+b.getBookname()+"','"+b.getWriter()+"','"+b.getTranslater()+"','"+b.getPublisher()+"','"+b.getPublishdate()+"',"+b.getPrice()+","+b.getState()+")";    Connection conn=this.initConnection();    int count=this.executeupdate(conn, sql);    return count;    }    //查找图书    public ResultSet savefind(String name) throws Exception{    String sql="select * from book where bookname='"+name+"'";    Connection conn=this.initConnection();    ResultSet rs=this.executeQuery(conn, sql);    return rs;    }    public int saveupdate(Book b,String name) throws Exception{    Connection conn=this.initConnection();    String sql="update book set isbn='"+b.getIsbn()+"',typeid="+b.getTypeid()+",bookname='"+b.getBookname()+"',writer='"+b.getWriter()+"',translater='"+b.getTranslater()+"',publisher='"+b.getPublisher()+"',publishdate='"+b.getPublishdate()+"',price="+b.getPrice()+",state="+b.getState()+" where bookname='"+name+"'";    int count=this.executeupdate(conn, sql);    return count;    }    //修改图书状态进行借书还书    public int savemodify(Book b,String name) throws Exception{    Connection conn=this.initConnection();    String sql="update book set state="+b.getState()+" where bookname='"+name+"'";    int count=this.executeupdate(conn, sql);    return count;    }    //修改图书名    public int updatename(String name1,String name) throws Exception{    Connection conn=this.initConnection();    String sql="update book set bookname='"+name1+"' where bookname='"+name+"'";    int count=this.executeupdate(conn, sql);    return count;    }    //修改图书类型    public int updatetypeid(int type,String name) throws Exception{    Connection conn=this.initConnection();    String sql="update book set typeid="+type+" where bookname='"+name+"'";    int count=this.executeupdate(conn, sql);    return count;    }    //修改图书价格    public int updateprice(double price,String name) throws Exception{    Connection conn=this.initConnection();    String sql="update book set price="+price+" where bookname='"+name+"'";    int count=this.executeupdate(conn, sql);    return count;    }    //修改图书国际标准书号    public int updateisbn(String isbn,String name) throws Exception{    Connection conn=this.initConnection();    String sql="update book set isbn='"+isbn+"' where bookname='"+name+"'";    int count=this.executeupdate(conn, sql);    return count;    }    //删除图书    public int savedelete(Book b) throws Exception{    Connection conn=this.initConnection();    String sql="delete from book where isbn='"+b.getIsbn()+"'";    int count=this.executeupdate(conn, sql);    return count;    }    //查看图书信息    public List<Book> select() throws Exception{    String sql="select * from book";    Connection conn=this.initConnection();    ResultSet rs=this.executeQuery(conn, sql);    List<Book> li=new ArrayList<Book>();    while(rs.next()){    Book b=new Book();    b.setIsbn(rs.getString(1));    b.setTypeid(rs.getInt(2));    b.setBookname(rs.getString(3));    b.setWriter(rs.getString(4));    b.setTranslater(rs.getString(5));    b.setPublisher(rs.getString(6));    b.setPublishdate(rs.getString(7));    b.setPrice(rs.getInt(8));    b.setState(rs.getInt(9));    li.add(b);    }    return li;    }}
import java.sql.*;import java.util.*;import xinxilei.Users;public class UsersDao extends BaseDao{ public int saveinsert(Users u) throws Exception{    String sql="insert into users values("+u.getId()+",'"+u.getName()+"','"+u.getSex()+"',"+u.getAge()+",'"+u.getIdentitycard()+"','"+u.getWorkdate()+"','"+u.getTel()+"',"+u.getYajin()+",'"+u.getPassword()+"','"+u.getAdmin()+"')";    Connection conn=this.initConnection();    int count=this.executeupdate(conn, sql);    return count; }  public int saveupdate(Users u,String name) throws Exception{ String sql="update users set id="+u.getId()+",name='"+u.getName()+"',sex='"+u.getSex()+"',age="+u.getAge()+",identitycard='"+u.getIdentitycard()+"',workdate='"+u.getWorkdate()+"',tel='"+u.getTel()+"',yajin="+u.getYajin()+",password='"+u.getPassword()+"',admin='"+u.getAdmin()+"' where name='"+name+"'"; Connection conn=this.initConnection(); int count=this.executeupdate(conn, sql); return count; }  public int updatename(String name1,String name) throws Exception{ String sql="update users set name='"+name1+"' where name='"+name+"'"; Connection conn=this.initConnection(); int count=this.executeupdate(conn, sql); return count; }  public int updateage(int age,String name) throws Exception{ String sql="update users set age="+age+" where name='"+name+"'"; Connection conn=this.initConnection(); int count=this.executeupdate(conn, sql); return count; }  public int updatepassword(String pass,String name) throws Exception{ String sql="update users set password='"+pass+"' where name='"+name+"'"; Connection conn=this.initConnection(); int count=this.executeupdate(conn, sql); return count; }  public int updateadmin(String admin,String name) throws Exception{ String sql="update users set admin='"+admin+"' where name='"+name+"'"; Connection conn=this.initConnection(); int count=this.executeupdate(conn, sql); return count; }  public int savedelete(Users u) throws Exception{ String sql="delete from users where name='"+u.getName()+"'"; Connection conn=this.initConnection(); int count=this.executeupdate(conn, sql); return count; }  public List<Users> select() throws Exception{ List<Users> li=new ArrayList<Users>();     String sql="select * from users";     Connection conn=this.initConnection();     ResultSet rs=this.executeQuery(conn, sql);     while(rs.next()){     Users u=new Users();     u.setId(rs.getInt(1));     u.setName(rs.getString(2));     u.setSex(rs.getString(3));     u.setAge(rs.getInt(4));     u.setIdentitycard(rs.getString(5));     u.setWorkdate(rs.getString(6));     u.setTel(rs.getString(7));     u.setYajin(rs.getInt(8));     u.setPassword(rs.getString(9));     u.setAdmin(rs.getString(10));     li.add(u);     }     return li; }  public ResultSet findbyname(String name) throws Exception{ Connection conn=this.initConnection(); String sql="select * from users where name='"+name+"'"; ResultSet rs=this.executeQuery(conn, sql); return rs; }}
import java.sql.*;import java.util.*;import xinxilei.Admin;public class AdminDao extends BaseDao{    public int saveinsert(Admin ad) throws Exception{    String sql="insert into admin values('"+ad.getName()+"','"+ad.getPassword()+"')";    Connection conn=this.initConnection();    int count=this.executeupdate(conn, sql);    return count;    }        public int savedelete(Admin ad) throws Exception{    String sql="delete from admin where name='"+ad.getName()+"'";    Connection conn=this.initConnection();    int count=this.executeupdate(conn, sql);    return count;    }        public int saveupdate(Admin ad,String name) throws Exception{    String sql="update admin set name='"+ad.getName()+"',password='"+ad.getPassword()+"' where name='"+name+"'";    Connection conn=this.initConnection();    int count=this.executeupdate(conn, sql);    return count;    }        public List<Admin> select() throws Exception{    String sql="select * from admin";    Connection conn=this.initConnection();    ResultSet rs=this.executeQuery(conn, sql);    List<Admin> li=new ArrayList<Admin>();    while(rs.next()){    Admin ad=new Admin();    ad.setName(rs.getString(1));    ad.setPassword(rs.getString(2));    li.add(ad);    }    return li;    }}
import java.sql.*;import java.util.*;import xinxilei.Booktype;public class BookTypeDao extends BaseDao{ public int saveinsert(Booktype bt) throws Exception{    String sql="insert into booktype values('"+bt.getTypename()+"',"+bt.getId()+")";    Connection conn=this.initConnection();    int count=this.executeupdate(conn, sql);    return count; }  public int saveupdate(Booktype bt,int id) throws Exception{ String sql="update booktype set typename='"+bt.getTypename()+"',id="+bt.getId()+" where id="+id+""; Connection conn=this.initConnection(); int count=this.executeupdate(conn, sql); return count; }  public int savedelete(Booktype bt) throws Exception{ String sql="delete from booktype where id="+bt.getId()+""; Connection conn=this.initConnection(); int count=this.executeupdate(conn, sql); return count; }  public List<Booktype> select() throws Exception{ List<Booktype> li=new ArrayList<Booktype>(); String sql="select * from booktype"; Connection conn=this.initConnection(); ResultSet rs=this.executeQuery(conn, sql); while(rs.next()){ Booktype bt=new Booktype(); bt.setTypename(rs.getString(1)); bt.setId(rs.getInt(2)); li.add(bt); } return li; }}
import java.sql.*;import java.util.*;import xinxilei.Borrowbook;public class BorrowbookDao extends BaseDao{public List<Borrowbook> select() throws Exception{Connection conn=this.initConnection();String sql="select * from borrowbook";List<Borrowbook> li=new ArrayList<Borrowbook>();ResultSet rs=this.executeQuery(conn, sql);while(rs.next()){Borrowbook bk=new Borrowbook();bk.setBorrower(rs.getString(1));bk.setBookname(rs.getString(2));bk.setBorrowdate(rs.getString(3));bk.setReturntime(rs.getString(4));li.add(bk);}return li;}public int saveinsert(Borrowbook bk) throws Exception{int count=0;String sql="insert into borrowbook values('"+bk.getBorrower()+"','"+bk.getBookname()+"','"+bk.getBorrowdate()+"','"+bk.getReturntime()+"')";Connection conn=this.initConnection();count=this.executeupdate(conn, sql);return count;}public int savedelete(String name) throws Exception{int count=0;Connection conn=this.initConnection();String sql="delete from borrowbook where bookname='"+name+"'";count=this.executeupdate(conn, sql);return count;}}
import java.sql.*;import java.util.*;import xinxilei.Reader;public class ReaderDao extends BaseDao{ public int saveinsert(Reader r) throws Exception{    String sql="insert into reader values("+r.getId()+",'"+r.getName()+"','"+r.getSex()+"',"+r.getAge()+",'"+r.getIdentitycard()+"','"+r.getNowdate()+"',"+r.getMaxnum()+",'"+r.getTel()+"',"+r.getKeepmoney()+","+r.getZj()+",'"+r.getZy()+"','"+r.getBztime()+"','"+r.getPassword()+"')";   Connection conn=this.initConnection();   int count=this.executeupdate(conn, sql);   return count;     }   public List<Reader> select() throws Exception{ String sql="select * from reader"; List<Reader> li=new ArrayList<Reader>(); Connection conn=this.initConnection(); ResultSet rs=this.executeQuery(conn, sql); while(rs.next()){ Reader r=new Reader(); r.setId(rs.getInt(1)); r.setName(rs.getString(2)); r.setSex(rs.getString(3)); r.setAge(rs.getInt(4)); r.setIdentitycard(rs.getString(5)); r.setNowdate(rs.getString(6)); r.setMaxnum(rs.getInt(7)); r.setTel(rs.getString(8)); r.setKeepmoney(rs.getInt(9)); r.setZj(rs.getInt(10)); r.setZy(rs.getString(11)); r.setBztime(rs.getString(12)); r.setPassword(rs.getString(13)); li.add(r); } return li; }}
import java.sql.*;import java.util.*;import xinxilei.Zjtype;public class ZjtypeDao extends BaseDao{    public List<Zjtype> select() throws Exception{    List<Zjtype> li=new ArrayList<Zjtype>();    String sql="select * from zjtype";    Connection conn=this.initConnection();    ResultSet rs=this.executeQuery(conn, sql);    while(rs.next()){    Zjtype z=new Zjtype();    z.setZjid(rs.getInt(1));    z.setTypename(rs.getString(2));    z.setPower(rs.getString(3));    li.add(z);    }    return li;    }}

(5)创建Management类

import java.sql.*;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.*;import java.util.Date;import jdbc.*;public class Management {     Scanner input=new Scanner(System.in);          //主界面     public void menu(){     System.out.println("******************图书信息管理系统**********************");     System.out.println();     System.out.print("\t\t1 管理员界面");     System.out.println("\t\t2 读者界面");     System.out.println("\t\t3 读者注册");     System.out.println();     System.out.println("****************************************************");     System.out.print("请选择界面:");     int choose=input.nextInt();     switch(choose){     case 1:loginad();break;     case 2:loginwr();break;     case 3:enroll();menu();break;     default:menu();break;     }     }     /**      * 管理员登陆界面      * 增删改查      * @throws Exception       */     public void loginad(){     System.out.println("-->>管理员界面-->>管理员登陆");     AdminDao ad=new AdminDao();     List<Admin> li=new ArrayList<Admin>();     try {li=ad.select();System.out.println("--------------------------------------------");      System.out.print("请输入管理员名称:");  String name=input.next();  System.out.print("请输入管理员密码:");  String pass=input.next();  for(Admin a:li){  if(a.getName().equals(name)&&a.getPassword().equals(pass)){  menuad(name);  }  }  System.out.println("用户名或密码不正确,请确认后重新登录!");  loginad();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}     }          public void menuad(String admin){     System.out.println("-->>管理员界面-->>管理员登陆>>-->>管理员菜单");     System.out.print("\t\t1 管理员信息管理");     System.out.println("\t\t2 图书信息管理");     System.out.print("\t\t3 用户信息管理");     System.out.println("\t\t4 读者信息管理");     System.out.print("\t\t5 图书类别管理");     System.out.println("\t\t6 返回主界面");     System.out.println("------------------------------------------------");     System.out.print("请选择菜单:");     int choose=input.nextInt();     switch(choose){     case 1:     this.adminmenu(admin);     break;     case 2:     this.bookmenu(admin);     break;     case 3:     this.usermenu(admin);     break;     case 4:     this.readermenu(admin);     break;     case 5:     this.booktypemenu(admin);     break;     default:     this.menu();break;     }     }     //管理员信息管理     public void adminmenu(String admin){     System.out.println("-->>管理员界面-->>管理员登陆>>-->>管理员菜单-->>管理员信息管理");     System.out.print("\t\t1 查看所有管理员名单");     System.out.println("\t\t2 修改管理员信息");     System.out.print("\t\t3 增加管理员信息");     System.out.println("\t\t4 删除管理员信息");     System.out.println("\t\t5 返回管理员界面");     System.out.println("------------------------------------------------");     System.out.print("请选择菜单:");     int choose=input.nextInt();     switch(choose){     case 1:     this.viewadmin();     this.adminmenu(admin);     break;     case 2:     this.updateadmin();     this.adminmenu(admin);     break;     case 3:     this.addadmin();     this.adminmenu(admin);     break;     case 4:     this.deleteadmin();     this.adminmenu(admin);     break;     default:     this.menuad(admin);     break;     }     }     //查看所有管理员     public List<Admin> viewadmin(){     System.out.println("所有管理员名单如下:");     AdminDao add=new AdminDao();  List<Admin> li=new ArrayList<Admin>();  try {li=add.select();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}  for(Admin ad1:li){  System.out.println(ad1.getName());  }  return li;     }     //修改管理员信息     public void updateadmin(){     AdminDao ad=new AdminDao();     Admin a=new Admin();     System.out.print("请输入需要修改的管理员名称:");     String adminname=input.next();     System.out.print("请输入修改后的管理员名称:");     String name=input.next();     System.out.print("请输入修改后的管理员密码:");     String pass=input.next();     a.setName(name);     a.setPassword(pass);     int count=0;     try {count=ad.saveupdate(a, adminname);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}     if(count>0){     System.out.println("修改管理员信息成功!");     }else{     System.out.println("修改管理员信息失败!");     }     }     //添加管理员信息     public void addadmin(){     AdminDao ad=new AdminDao();     Admin a=new Admin();     System.out.print("请输入添加管理员的名称:");     String name=input.next();     System.out.print("请输入添加管理员的密码:");     String pass=input.next();     a.setName(name);     a.setPassword(pass);     int count=0;     try {count=ad.saveinsert(a);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}     if(count>0){     System.out.println("添加管理员信息成功!");     }else{     System.out.println("添加管理员信息失败!");     }     }     //删除管理员     public void deleteadmin(){     AdminDao ad=new AdminDao();     Admin a=new Admin();     System.out.print("请输入添加管理员的名称:");     String name=input.next();     a.setName(name);     int count=0;     try {count=ad.savedelete(a);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}     if(count>0){     System.out.println("删除管理员信息成功!");     }else{     System.out.println("删除管理员信息失败!");     }      }     //图书信息管理     public void bookmenu(String admin){     System.out.println("-->>管理员界面-->>管理员登陆>>-->>管理员菜单-->>图书信息管理");     System.out.print("\t\t1 查看所有图书信息");     System.out.println("\t\t2 修改图书信息");     System.out.print("\t\t3 增加图书信息");     System.out.println("\t\t4 删除图书信息");     System.out.println("\t\t5 返回管理员界面");     System.out.println("------------------------------------------------");     System.out.print("请选择菜单:");     int choose=input.nextInt();     switch(choose){     case 1:     this.viewall();     this.bookmenu(admin);     break;     case 2:     this.updatebook(admin);     this.bookmenu(admin);     break;     case 3:     this.addbook();     this.bookmenu(admin);     break;     case 4:     this.deletebook();     this.bookmenu(admin);     break;     default:     this.menuad(admin);     break;     }     }     //查看所有图书     public void  viewall(){     BookDao bd=new BookDao();     List<Book> li=new ArrayList<Book>();     try {li=bd.select();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}for(Book b:li){System.out.print(b.getIsbn()+"\t");System.out.print(b.getTypeid()+"\t");System.out.print(b.getBookname()+"\t\t");System.out.print(b.getWriter()+"\t\t");System.out.print(b.getTranslater()+"\t\t");System.out.print(b.getPublisher()+"\t");System.out.print(b.getPublishdate()+"\t");System.out.print(b.getPrice()+"\t");System.out.print(b.getState()+"\n");}     }     //修改图书信息     public void updatebook(String admin){     System.out.println("->>管理员界面->>管理员登陆>>->>管理员菜单->>图书信息管理->>修改图书信息");     System.out.println("\t\t1 修改图书所有信息          2 修改图书名");     System.out.println("\t\t3 修改图书价格                  4 修改图书类型");     System.out.println("\t\t5 修改图书标准书号          6 返回管理员界面");     System.out.println("------------------------------------------------");     System.out.print("请选择菜单:");     int choose=input.nextInt();     switch(choose){     case 1:     this.updatebookall(admin);     this.bookmenu(admin);     break;     case 2:     this.updatebookname(admin);     this.bookmenu(admin);     break;     case 3:     this.updatebookprice(admin);     this.bookmenu(admin);     break;     case 4:     this.updatebooktypeid(admin);     this.bookmenu(admin);     break;     case 5:     this.updatebookisbn(admin);     this.bookmenu(admin);     break;     default:     this.bookmenu(admin);     break;     }      }     //修改图书所有信息     public void updatebookall(String admin){     boolean flag=true;     BookDao bd=new BookDao();     System.out.print("请输入需要修改图书的图书名称:");     String name=input.next();     List<Book> li=new ArrayList<Book>();     try {li=bd.select();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();} for(Book b:li){ if(b.getBookname().equals(name)){ flag=false; Book b1=new Book();     System.out.print("请输入修改后的国际标准书号:");     String isbn1=input.next();     b1.setIsbn(isbn1);     BookTypeDao btd=new BookTypeDao();     List<Booktype> li1=new ArrayList<Booktype>();     try {li1=btd.select();System.out.println("图书类型\t图书类型编号");     for(Booktype bt1:li1){     System.out.print(bt1.getTypename()+"\t");     System.out.println(bt1.getId());     }} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}     System.out.print("请输入修改后的图书类型编号:");     int id=input.nextInt();     b1.setTypeid(id);     System.out.print("请输入修改后的书名:");     String name1=input.next();     b1.setBookname(name1);     System.out.print("请输入修改后的作者:");     String author=input.next();     b1.setWriter(author);     System.out.print("请输入修改后的译者:");     String translater=input.next();     b1.setTranslater(translater);     System.out.print("请输入修改后的出版社:");     String publisher=input.next();     b1.setPublisher(publisher);     System.out.print("请输入修改后的出版日期:");     String publishdate=input.next();     b1.setPublishdate(publishdate);     System.out.print("请输入修改后的价格:");     double price=input.nextDouble();     b1.setPrice(price);     System.out.print("请输入修改后的图书状态:");     int state=input.nextInt();     b1.setState(state);     int count=0;     try {count=bd.saveupdate(b1, name);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0){System.out.println("修改图书所有信息成功!");}else{System.out.println("修改图书所有信息失败!");} } } if(flag){ System.out.println("不存在图书《"+name+"》,请确认名称后再进行修改!"); this.updatebook(admin); }     }     //修改图书名     public void updatebookname(String admin){     boolean flag=true;     BookDao bd=new BookDao();     System.out.print("请输入需要修改图书名的图书名称:");     String name=input.next();         List<Book> li=new ArrayList<Book>();     try {li=bd.select();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();} for(Book b:li){ if(b.getBookname().equals(name)){ flag=false; System.out.print("请输入修改后的书名:");     String name1=input.next();     int count=0;     try {count=bd.updatename(name1, name);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0){System.out.println("修改图书名成功!");}else{System.out.println("修改图书名失败!");} } } if(flag){ System.out.println("不存在图书《"+name+"》,请确认名称后再进行修改!"); this.updatebook(admin); }     }     //修改图书价格     public void updatebookprice(String admin){     boolean flag=true;     BookDao bd=new BookDao();     System.out.print("请输入需要修改图书价格的图书名称:");     String name=input.next();     List<Book> li=new ArrayList<Book>();     try {li=bd.select();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();} for(Book b:li){ if(b.getBookname().equals(name)){ flag=false; System.out.print("请输入修改后的价格:");     double price=input.nextDouble();     int count=0;     try {count=bd.updateprice(price, name);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0){System.out.println("修改图书价格成功!");}else{System.out.println("修改图书价格失败!");} } } if(flag){ System.out.println("不存在图书《"+name+"》,请确认名称后再进行修改!"); this.updatebook(admin); }     }     //修改图书类型编号     public void updatebooktypeid(String admin){     boolean flag=true;     BookDao bd=new BookDao();     System.out.print("请输入需要修改图书类型编号的图书名称:");     String name=input.next();     List<Book> li=new ArrayList<Book>();     try {li=bd.select();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();} for(Book b:li){ if(b.getBookname().equals(name)){ flag=false; System.out.print("请输入修改后的类型编号:");     int type=input.nextInt() ;     int count=0;     try {count=bd.updatetypeid(type, name);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0){System.out.println("修改图书类型编号成功!");}else{System.out.println("修改图书类型编号失败!");} } } if(flag){ System.out.println("不存在图书《"+name+"》,请确认名称后再进行修改!"); this.updatebook(admin); }     }     //修改图书标准书号     public void updatebookisbn(String admin){     boolean flag=true;     BookDao bd=new BookDao();     System.out.print("请输入需要修改图书标准书号的图书名称:");     String name=input.next();     List<Book> li=new ArrayList<Book>();     try {li=bd.select();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();} for(Book b:li){ if(b.getBookname().equals(name)){ flag=false; System.out.print("请输入修改后的标准书号:");     String isbn=input.next();     int count=0;     try {count=bd.updateisbn(isbn, name);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0){System.out.println("修改图书标准书号成功!");}else{System.out.println("修改图书标准书号失败!");} }} if(flag){ System.out.println("不存在图书《"+name+"》,请确认名称后再进行修改!"); this.updatebook(admin); }      }     //增加图书信息     public void addbook(){     BookDao bd=new BookDao();     Book b=new Book();     System.out.print("请输入需要添加图书的国际标准书号:");     b.setIsbn(input.next());     BookTypeDao btd=new BookTypeDao();     List<Booktype> li1=new ArrayList<Booktype>();     try {li1=btd.select();System.out.println("图书类型\t图书类型编号");     for(Booktype bt1:li1){     System.out.print(bt1.getTypename()+"\t");     System.out.println(bt1.getId());     }} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}     System.out.print("请输入添加图书的图书类型编号:");     int id=input.nextInt();     b.setTypeid(id);     System.out.print("请输入需要添加图书的书名:");     b.setBookname(input.next());     System.out.print("请输入需要添加图书的作者:");     b.setWriter(input.next());     System.out.print("请输入需要添加图书的译者:");     b.setTranslater(input.next());     System.out.print("请输入需要添加图书的出版社:");     b.setPublisher(input.next());     System.out.print("请输入需要添加图书的出版日期:");     b.setPublishdate(input.next());     System.out.print("请输入需要添加图书的价格:");     b.setPrice(input.nextDouble());     System.out.print("请输入需要添加图书的状态:");     b.setState(input.nextInt());     int count=0;     try {count=bd.saveinsert(b);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0){System.out.println("添加成功!");}else{System.out.println("添加失败!");}     }     //删除图书信息     public void deletebook(){     BookDao bd=new BookDao();     System.out.print("请输入需要删除图书的国际标准书号:");     String isbn=input.next();     Book b=new Book();     b.setIsbn(isbn);     int count=0;     try {count=bd.savedelete(b);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0){System.out.println("删除成功!");}else{System.out.println("删除失败!");}     }     //用户信息管理     public void usermenu(String admin){     System.out.println("-->>管理员界面-->>管理员登陆>>-->>管理员菜单-->>用户信息管理");     System.out.print("\t\t1 用户信息增加");     System.out.println("\t\t2 用户信息修改");     System.out.print("\t\t3 用户信息删除");     System.out.println("\t\t4 返回管理员界面");     System.out.println("------------------------------------------------");     System.out.print("请选择菜单:");     int choose=input.nextInt();     switch(choose){     case 1:     this.adduser(admin);     this.usermenu(admin);     break;     case 2:     this.updateuser(admin);     this.usermenu(admin);     break;     case 3:     this.deleteuser(admin);     this.usermenu(admin);     break;     default:     this.menuad(admin);     this.menuad(admin);     break;     }     }   //添加用户信息     public void adduser(String admin){     boolean flag=true;     int count=0;     Users u=new Users();     UsersDao ud=new UsersDao();     List<Users> li=new ArrayList<Users>();     int max=0;     System.out.print("请输入添加用户的姓名:");     String name=input.next();u.setName(name);     try {li=ud.select();for(Users u1:li){if(u1.getName().equals(name)){System.out.println("该用户已存在,无需重复添加!");flag=false;}      }} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();} List<Users> li1=new ArrayList<Users>();     try {li1=ud.select();for(Users u1:li1){if(max<u1.getId()){ max=u1.getId(); }}max=max+1; u.setId(max); } catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace(); } if(flag){     System.out.print("请输入添加用户的性别:");     String sex=input.next();u.setSex(sex);     System.out.print("请输入添加用户的年龄:");     int age=input.nextInt();u.setAge(age);     UserNum.setLength(10);     String str=UserNum.createnumber();     u.setIdentitycard(str);     System.out.println("系统为您产生的证件号码为:"+str);     Date date=new Date();     DateFormat format=new SimpleDateFormat("yyyy.MM.dd");     String time=format.format(date);     u.setWorkdate(time);     System.out.print("请输入添加用户的电话号码:");     String tel=input.next();u.setTel(tel);     System.out.print("请输入添加用户的押金:");     int yajin=input.nextInt();u.setYajin(yajin);     System.out.print("请输入添加用户的密码:");     String password=input.next();u.setPassword(password);     u.setAdmin(admin);     try {count=ud.saveinsert(u);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}    if(count>0){    System.out.println("添加用户成功!");flag=false;    } else{    System.out.println("添加用户失败!");    }}     }     //修改用户信息     public void updateuser(String admin){     System.out.println("->>管理员界面->>管理员登陆>>->>管理员菜单->>图书信息管理->>修改用户信息");     System.out.println("\t\t1 修改用户所有信息             2 修改用户名");     System.out.println("\t\t3 修改用户密码                    4 修改用户年龄");     System.out.println("\t\t5 修改用户的管理员             6 返回管理员界面");     System.out.println("------------------------------------------------");     System.out.print("请选择菜单:");     int choose=input.nextInt();     switch(choose){     case 1:     this.updateuserall(admin);     this.usermenu(admin);     break;     case 2:     this.updateusername(admin);     this.usermenu(admin);     break;     case 3:     this.updateuserpass(admin);     this.usermenu(admin);     break;     case 4:     this.updateuserage(admin);     this.usermenu(admin);     break;     case 5:     this.updateuseradmin(admin);     this.usermenu(admin);     break;     default:     this.usermenu(admin);     break;     }      }     //修改用户所有信息     public void updateuserall(String admin){     boolean flag=true;     Users u=new Users();     UsersDao ud=new UsersDao();     int count=0;     System.out.print("请输入需要修改信息的用户姓名:");     String name=input.next();     List<Users> li=new ArrayList<Users>();     try {li=ud.select();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();} for(Users u1:li){ if(u1.getName().equals(name)){ flag=false; System.out.print("请输入修改后的编号:");     int id=input.nextInt();u.setId(id);     System.out.print("请输入修改后的姓名:");     String name1=input.next();u.setName(name1);     System.out.print("请输入修改后的性别:");     String sex=input.next();u.setSex(sex);     System.out.print("请输入修改后的年龄:");     int age=input.nextInt();u.setAge(age);     System.out.print("请输入修改后的证件号码:");     String identitycard=input.next();u.setIdentitycard(identitycard);     System.out.print("请输入修改后的办证日期:");     String workdate=input.next();u.setWorkdate(workdate);     System.out.print("请输入修改后的电话号码:");     String tel=input.next();u.setTel(tel);     System.out.print("请输入修改后的押金:");     int yajin=input.nextInt();u.setYajin(yajin);     System.out.print("请输入修改后的密码:");     String password=input.next();u.setPassword(password);     System.out.print("请输入修改后的管理员:");     String admin1=input.next();u.setAdmin(admin1);     try {count=ud.saveupdate(u, name);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0){System.out.println("修改用户所有信息成功!");}else{System.out.println("修改用户所有信息失败!");}  } } if(flag){ System.out.println("不存在用户"+name+",请确认后进行修改!");     this.updateuser(admin); }     }     //修改用户名     public void updateusername(String admin){     boolean flag=true;     UsersDao ud=new UsersDao();     int count=0;     System.out.print("请输入需要修改用户名的用户姓名:");     String name=input.next();     List<Users> li=new ArrayList<Users>();     try {li=ud.select();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();} for(Users u1:li){ if(u1.getName().equals(name)){ flag=false; System.out.print("请输入修改后的姓名:");     String name1=input.next();     try {count=ud.updatename(name1, name);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0){System.out.println("修改用户名成功!");}else{System.out.println("修改用户名失败!");} } } if(flag){ System.out.println("不存在用户"+name+",请确认后进行修改!");     this.updateuser(admin); }     }     //修改用户密码     public void updateuserpass(String admin){     boolean flag=true;     UsersDao ud=new UsersDao();     int count=0;     System.out.print("请输入需要修改用户密码的用户姓名:");     String name=input.next();     List<Users> li=new ArrayList<Users>();     try {li=ud.select();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();} for(Users u1:li){ if(u1.getName().equals(name)){ flag=false; System.out.print("请输入修改后的密码:");     String pass=input.next();     try {count=ud.updatepassword(pass, name);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0){System.out.println("修改用户密码成功!");}else{System.out.println("修改用户密码失败!");} } } if(flag){ System.out.println("不存在用户"+name+",请确认后进行修改!");     this.updateuser(admin); }     }     //修改用户年龄     public void updateuserage(String admin){     boolean flag=true;     UsersDao ud=new UsersDao();     int count=0;     System.out.print("请输入需要修改用户密码的用户姓名:");     String name=input.next();     List<Users> li=new ArrayList<Users>();     try {li=ud.select();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();} for(Users u1:li){ if(u1.getName().equals(name)){ flag=false; System.out.print("请输入修改后的年龄:");     int age=input.nextInt();     try {count=ud.updateage(age, name);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0){System.out.println("修改用户年龄成功!");}else{System.out.println("修改用户年龄失败!");} } } if(flag){ System.out.println("不存在用户"+name+",请确认后进行修改!");     this.updateuser(admin); }     }     //修改用户管理员     public void updateuseradmin(String admin){     boolean flag=true;     UsersDao ud=new UsersDao();     int count=0;     System.out.print("请输入需要修改用户密码的用户姓名:");     String name=input.next();     List<Users> li=new ArrayList<Users>();     try {li=ud.select();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();} for(Users u1:li){ if(u1.getName().equals(name)){ flag=false; System.out.print("请输入修改后的管理员:");     String admin1=input.next();;     try {count=ud.updateadmin(admin1, name);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0){System.out.println("修改用户管理员成功!");}else{System.out.println("修改用户管理员失败!");} } } if(flag){ System.out.println("不存在用户"+name+",请确认后进行修改!");     this.updateuser(admin); }     }     //删除用户信息     public void deleteuser(String admin){     Users u=new Users();     System.out.print("请输入需要删除的用户姓名:");     u.setName(input.next());     UsersDao ud=new UsersDao();     int count=0;     try {count=ud.savedelete(u);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0){System.out.println("删除用户成功!");}else{System.out.println("删除用户失败!");}          }     //读者信息管理     public void readermenu(String admin){     System.out.println("-->>管理员界面-->>管理员登陆>>-->>管理员菜单-->>读者信息管理");     System.out.print("\t\t1 读者信息查看");     System.out.println("\t\t2 读者信息添加");     System.out.println("\t\t3 返回管理员界面");     System.out.println("------------------------------------------------");     System.out.print("请选择菜单:");     int choose=input.nextInt();     switch(choose){     case 1:     this.viewallreader();     this.readermenu(admin);     break;     case 2:     this.addreader();     this.readermenu(admin);     break;     default:     this.menuad(admin);     break;     }     }     //查看所有读者信息     public void viewallreader(){     ReaderDao wd=new ReaderDao();     List<Reader> li=new ArrayList<Reader>();     try {li=wd.select();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}for(Reader r:li){System.out.print(r.getId()+"\t");System.out.print(r.getName()+"\t");System.out.print(r.getSex()+"\t");System.out.print(r.getAge()+"\t");System.out.print(r.getIdentitycard()+"\t");System.out.print(r.getNowdate()+"\t");System.out.print(r.getMaxnum()+"\t");System.out.print(r.getTel()+"\t");System.out.print(r.getKeepmoney()+"\t");System.out.print(r.getZj()+"\t");System.out.print(r.getZy()+"\t");System.out.print(r.getBztime()+"\n");}     }     //添加读者信息     public void addreader(){     boolean flag=true;     UsersDao ud=new UsersDao();     ReaderDao rd=new ReaderDao();     int count=0;     Reader r1=new Reader();     System.out.print("请输入需要添加的读者名:");     String name=input.next();     int max=0;     List<Reader> li=new ArrayList<Reader>();     try {      li=rd.select();      for(Reader r:li){     if(r.getName().equals(name)){      System.out.println("该读者已存在,无需重复添加!");flag=false;          }     }  } catch (Exception e) {  // TODO Auto-generated catch block  e.printStackTrace();  } List<Reader> li1=new ArrayList<Reader>();       try {     li1=rd.select();     for(Reader r:li1){     if(r.getId()>max){         max=r.getId();      }    }   max=max+1;   r1.setId(max); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }     if(flag){ try{ ResultSet rs=ud.findbyname(name); while(rs.next()){ r1.setName(rs.getString(2)); r1.setSex(rs.getString(3)); r1.setAge(rs.getInt(4)); r1.setIdentitycard(rs.getString(5)); r1.setBztime(rs.getString(6)); r1.setTel(rs.getString(7)); r1.setKeepmoney(rs.getInt(8)); r1.setPassword(rs.getString(9)); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.print("是否现在存钱?(y/n)"); if(input.next().equalsIgnoreCase("y")){ System.out.print("所存钱数:"); int money=input.nextInt(); r1.setKeepmoney(r1.getKeepmoney()+money); } ZjtypeDao zjd=new ZjtypeDao();     List<Zjtype> li2=new ArrayList<Zjtype>();     try { li2=zjd.select(); System.out.println("证件类型编号\t证件类型\t权利");     for(Zjtype z:li2){     System.out.print(z.getZjid()+"\t\t");     System.out.print(z.getTypename()+"\t");     System.out.print(z.getPower()+"\n");     } } catch (Exception e2) { // TODO Auto-generated catch block e2.printStackTrace(); }    System.out.print("请问您想注册为哪种证件类型?(1、普通 /2、vip)"); int zj=input.nextInt(); r1.setZj(zj); System.out.print("您的职业是:"); String zy=input.next(); r1.setZy(zy); Date date=new Date();     DateFormat format=new SimpleDateFormat("yyyy.MM.dd");     String time=format.format(date); r1.setNowdate(time); System.out.print("请输入您的最大借书量:"); int num=input.nextInt(); r1.setMaxnum(num); try { count=rd.saveinsert(r1); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } if(count>0){ System.out.println("添加读者信息成功!");flag=false; }else{ System.out.println("添加读者信息失败!"); }     }     }     //图书类别管理     public void booktypemenu(String admin){     System.out.println("-->>管理员界面-->>管理员登陆>>-->>管理员菜单-->>图书类别管理");     System.out.println("\t\t1 图书类别添加");     System.out.println("\t\t2 图书类别修改");     System.out.println("\t\t3 返回管理员界面");     System.out.println("------------------------------------------------");     System.out.print("请选择菜单:");     int choose=input.nextInt();     switch(choose){     case 1:     this.addbooktype();     this.booktypemenu(admin);     break;     case 2:     this.updatebooktype();     this.booktypemenu(admin);     break;     default:     this.menuad(admin);     break;     }     }          //添加图书类型     public void addbooktype(){     Booktype bt=new Booktype();     BookTypeDao btd=new BookTypeDao();     int count=0;     System.out.print("请输入添加图书类型:");     String typename=input.next();     System.out.print("请输入添加图书类型的编号:");     int id=input.nextInt();     bt.setTypename(typename);     bt.setId(id);     try {count=btd.saveinsert(bt);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}     if(count>0){     System.out.println("添加图书类型成功!");     }else{     System.out.println("添加图书类型失败!");     }     }     //修改图书类型     public void updatebooktype(){     Booktype bt=new Booktype();     BookTypeDao btd=new BookTypeDao();     int count=0;     System.out.print("请输入需要修改的图书类型编号:");     int id=input.nextInt();     System.out.print("请输入修改后的图书类型:");     String typename=input.next();     System.out.print("请输入修改后的图书类型编号:");     int id1=input.nextInt();     bt.setTypename(typename);     bt.setId(id1);     try {count=btd.saveupdate(bt, id);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0){    System.out.println("修改图书类型成功!");    }else{    System.out.println("修改图书类型失败!");    }     }     /**      * 读者登录界面      * 查看,借阅,归还,      */     //读者登录     public void loginwr(){     System.out.println("-->>读者界面-->>读者登陆");     System.out.print("请输入读者名:");     String reader=input.next();     System.out.print("请输入密码:");     String password=input.next();     ReaderDao rd=new ReaderDao();      List<Reader> li=new ArrayList<Reader>();     try {li=rd.select();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}for(Reader r:li){if(r.getName().equals(reader)&&r.getPassword().equals(password)){menuwr(reader);}}     System.out.println("用户名或密码不正确或您未注册读者账号,请确认后重新登录!");     loginwr();     }     //读者界面     public void menuwr(String reader){     System.out.println("-->>读者界面-->>读者登陆-->>读者菜单");     System.out.print("\t\t1 查看借阅明细");     System.out.println("\t\t2 借阅图书");     System.out.print("\t\t3 归还图书");     System.out.println("\t\t4 查找图书");     System.out.println("\t\t5 返回主界面");     System.out.println("-------------------------------------------------");     System.out.print("请选择菜单:");     int choose=input.nextInt();     switch(choose){     case 1:     this.view(reader);     this.menuwr(reader);     break;     case 2:     this.borrow(reader);     this.menuwr(reader);     break;     case 3:     this.returnbook(reader);     this.menuwr(reader);     break;     case 4:     this.find();     this.menuwr(reader);     break;     default:     this.menu();     break;     }     }     //查看借阅明细     public void view(String reader){     BorrowbookDao bbd=new BorrowbookDao();     List<Borrowbook> li=new ArrayList<Borrowbook>();     try {li=bbd.select();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}     System.out.println("读者名"+"\t"+"书名"+"\t"+"借书日期"+"\t\t"+"应还日期"+"\t\t"); for(Borrowbook bk:li){ if(bk.getBorrower().equals(reader)){ System.out.print(bk.getBorrower()+"\t"); System.out.print(bk.getBookname()+"\t"); System.out.print(bk.getBorrowdate()+"\t"); System.out.print(bk.getReturntime()+"\t"); }  }     }     //借阅图书     public void borrow(String reader){     BookDao bd=new BookDao();     Book b=new Book();     Borrowbook bk=new Borrowbook();     System.out.print("请输入需要借阅图书的名称:");     String name=input.next();     bk.setBookname(name);     List<Book> li=new ArrayList<Book>();     try {li=bd.select();} catch (Exception e2) {// TODO Auto-generated catch blocke2.printStackTrace();}     for(Book b1:li){     if(b1.getBookname().equals(name)&&b.getState()==0){     bk.setBorrower(reader);//     Date date=new Date();//         DateFormat format=new SimpleDateFormat("yyyy.MM.dd");//         String time=format.format(date);     Calendar cal=Calendar.getInstance();      int day=cal.get(Calendar.DATE);      int month=cal.get(Calendar.MONTH)+1;      int year=cal.get(Calendar.YEAR);         String time=year+"."+month+"."+day;         bk.setBorrowdate(time);         String rtime=year+"."+(month+1)+"."+day;     bk.setReturntime(rtime);     BorrowbookDao bbd=new BorrowbookDao();     int count1=0;     try {count1=bbd.saveinsert(bk);} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}     b.setBookname(name);     b.setState(1);     int count=0;     try {count=bd.savemodify(b, name);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0&&count1>0){System.out.println("借阅《"+b.getBookname()+"》成功!");}else{System.out.println("借阅《"+b.getBookname()+"》失败!");}         }}     }     //归还图书     public void returnbook(String reader){     BookDao bd=new BookDao();     Book b=new Book();     BorrowbookDao bbd=new BorrowbookDao();     int count1=0;     int count=0;     System.out.print("请输入需要归还图书的名称:");     String name=input.next();     b.setBookname(name);     b.setState(0);     try {count1=bbd.savedelete(name);} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}     try {count=bd.savemodify(b, name);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0&&count1>0){System.out.println("归还《"+b.getBookname()+"》成功!");}else{System.out.println("归还《"+b.getBookname()+"》失败,您可能未借该图书或图书名称不正确!");}}   //根据书名查找图书   public void find(){   System.out.print("请输入需要查找的图书名称:");   boolean flag=true;   String name=input.next();   BookDao bd=new BookDao();   List<Book> li=new ArrayList<Book>();   try {li=bd.select();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}for(Book b:li){if(b.getBookname().equals(name)){flag=false;try {   System.out.println("国际标准书号"+"\t"+"图书类型id"+"\t\t"+"书名"+"\t\t"+"作者"+"\t\t"+"译者"+"\t\t"+"出版社"+"\t"+"出版日期"+"\t\t"+"价格"+"\t"+"状态");ResultSet rs=bd.savefind(name);while(rs.next()){System.out.print(rs.getString(1)+"\t\t");System.out.print(rs.getInt(2)+"\t\t");System.out.print(rs.getString(3)+"\t\t");System.out.print(rs.getString(4)+"\t\t");System.out.print(rs.getString(5)+"\t\t");System.out.print(rs.getString(6)+"\t");System.out.print(rs.getString(7)+"\t");System.out.print(rs.getDouble(8)+"\t");if(rs.getInt(9)==0){System.out.print("未借出"+"\n");}else{System.out.print("已借出"+"\n");}}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}if(flag){System.out.println("不存在图书《"+name+"》!");}   }   //读者注册   public void enroll(){   boolean flag=true;   System.out.println("-->>读者注册-->>读者信息注册");   UsersDao ud=new UsersDao();   ReaderDao rd=new ReaderDao();   int count=0;   System.out.print("请输入需要注册的读者名:");   String name=input.next();   int max=1;   Reader r1=new Reader();       List<Reader> li=new ArrayList<Reader>();       try {     li=rd.select();     for(Reader r:li){    if(r.getName().equals(name)){     System.out.println("该读者已存在,无需重复添加!");flag=false;     }    } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } List<Reader> li1=new ArrayList<Reader>(); try {li1=rd.select();for(Reader rea:li1){if(max<rea.getId()){max=rea.getId();}}max=max+1;} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();} r1.setId(max);        if(flag){try{ResultSet rs=ud.findbyname(name);while(rs.next()){r1.setName(rs.getString(2));r1.setSex(rs.getString(3));r1.setAge(rs.getInt(4));r1.setIdentitycard(rs.getString(5));r1.setBztime(rs.getString(6));r1.setTel(rs.getString(7));r1.setKeepmoney(rs.getInt(8));r1.setPassword(rs.getString(9));}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.print("是否现在存钱?(y/n)");if(input.next().equalsIgnoreCase("y")){System.out.print("所存钱数:");int money=input.nextInt();r1.setKeepmoney(r1.getKeepmoney()+money);}ZjtypeDao zjd=new ZjtypeDao();    List<Zjtype> li2=new ArrayList<Zjtype>();    try {li2=zjd.select();System.out.println("证件类型编号\t证件类型\t权利");    for(Zjtype z:li2){    System.out.print(z.getZjid()+"\t\t");    System.out.print(z.getTypename()+"\t");    System.out.print(z.getPower()+"\n");    }} catch (Exception e2) {// TODO Auto-generated catch blocke2.printStackTrace();}   System.out.print("请问您想注册为哪种证件类型?(1、普通 /2、vip)");int zj=input.nextInt();r1.setZj(zj);System.out.print("您的职业是:");String zy=input.next();r1.setZy(zy);Date date=new Date();    DateFormat format=new SimpleDateFormat("yyyy.MM.dd");    String time=format.format(date);r1.setNowdate(time);System.out.print("请输入您的最大借书量:");int num=input.nextInt();r1.setMaxnum(num);try {count=rd.saveinsert(r1);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(count>0){System.out.println("注册成功!");flag=false;}else{System.out.println("注册失败!");}    }      }}

(6)创建测试类Test

public class Test{     public static void main(String[] args) throws Exception {     Management m=new Management();     m.menu();         }}


3 0
原创粉丝点击