(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 select() throws Exception{
String sql="select * from book";
Connection conn=this.initConnection();
ResultSet rs=this.executeQuery(conn, sql);
List li=new ArrayList();
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 select() throws Exception{
List li=new ArrayList();
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 select() throws Exception{
String sql="select * from admin";
Connection conn=this.initConnection();
ResultSet rs=this.executeQuery(conn, sql);
List li=new ArrayList();
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 select() throws Exception{
List li=new ArrayList();
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 select() throws Exception{
Connection conn=this.initConnection();
String sql="select * from borrowbook";
List li=new ArrayList();
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 select() throws Exception{
String sql="select * from reader";
List li=new ArrayList();
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 select() throws Exception{
List li=new ArrayList();
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 li=new ArrayList();
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 block
e.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 viewadmin(){
System.out.println("所有管理员名单如下:");
AdminDao add=new AdminDao();
List li=new ArrayList();
try {
li=add.select();
} catch (Exception e) {
// TODO Auto-generated catch block
e.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 block
e.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 block
e.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 block
e.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 li=new ArrayList();
try {
li=bd.select();
} catch (Exception e) {
// TODO Auto-generated catch block
e.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 li=new ArrayList();
try {
li=bd.select();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.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 li1=new ArrayList();
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 block
e1.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 block
e.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 li=new ArrayList();
try {
li=bd.select();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.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 block
e.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 li=new ArrayList();
try {
li=bd.select();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.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 block
e.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 li=new ArrayList();
try {
li=bd.select();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.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 block
e.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 li=new ArrayList();
try {
li=bd.select();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.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 block
e.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 li1=new ArrayList();
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 block
e1.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 block
e.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 block
e.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 li=new ArrayList();
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 block
e1.printStackTrace();
}
List li1=new ArrayList();
try {
li1=ud.select();
for(Users u1:li1){
if(max
max=u1.getId();
}
}
max=max+1;
u.setId(max);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.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 block
e.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 li=new ArrayList();
try {
li=ud.select();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.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 block
e.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 li=new ArrayList();
try {
li=ud.select();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.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 block
e.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 li=new ArrayList();
try {
li=ud.select();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.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 block
e.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 li=new ArrayList();
try {
li=ud.select();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.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 block
e.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 li=new ArrayList();
try {
li=ud.select();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.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 block
e.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 block
e.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 li=new ArrayList();
try {
li=wd.select();
} catch (Exception e) {
// TODO Auto-generated catch block
e.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 li=new ArrayList();
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 li1=new ArrayList();
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 li2=new ArrayList();
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 block
e.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 block
e.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 li=new ArrayList();
try {
li=rd.select();
} catch (Exception e) {
// TODO Auto-generated catch block
e.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 li=new ArrayList();
try {
li=bbd.select();
} catch (Exception e) {
// TODO Auto-generated catch block
e.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 li=new ArrayList();
try {
li=bd.select();
} catch (Exception e2) {
// TODO Auto-generated catch block
e2.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 block
e1.printStackTrace();
}
b.setBookname(name);
b.setState(1);
int count=0;
try {
count=bd.savemodify(b, name);
} catch (Exception e) {
// TODO Auto-generated catch block
e.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 block
e1.printStackTrace();
}
try {
count=bd.savemodify(b, name);
} catch (Exception e) {
// TODO Auto-generated catch block
e.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 li=new ArrayList();
try {
li=bd.select();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.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 block
e.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 li=new ArrayList();
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 li1=new ArrayList();
try {
li1=rd.select();
for(Reader rea:li1){
if(max
max=rea.getId();
}
}
max=max+1;
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.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 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 li2=new ArrayList();
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("注册失败!");
}
}
}
}
(6)创建测试类Testpublic class Test{
public static void main(String[] args) throws Exception {
Management m=new Management();
m.menu();
}
}