java图书管理系统io_java系统-图书管理系统

(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();

}

}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java Oracle图书管理系统是一种基于Java编程语言和Oracle数据库的软件系统,它旨在帮助图书馆或书店有效地管理和维护其图书资源。 该系统具有以下主要功能: 1. 图书信息管理:系统可以记录图书的基本信息,如书名、作者、出版社、ISBN号等,并将其保存在Oracle数据库中。管理员可以使用系统的用户界面添加、编辑和删除图书信息。 2. 图书借阅管理:系统可以实现图书的借阅和归还功能。用户可以通过系统查询图书的可借状态,并在借阅时提供借书证信息。系统会相应地更新图书的借阅状态,并记录借阅时间和归还时间。 3. 图书搜索和检索:系统提供了便捷的搜索和检索功能。用户可以根据书名、作者、出版社等关键词进行搜索,并获取相关图书的详细信息。这可以极大地方便用户找到所需图书。 4. 用户管理:系统具备用户管理功能,管理员可以添加新用户、编辑用户信息和删除用户。此外,系统还可以维护用户的借阅记录,以便管理员或用户自行查询。 5. 统计和报表分析:系统可以根据数据库中的数据生成统计和报表分析。例如,管理员可以获得每月借阅量的报表,以及图书的热门排行榜等信息,以便了解图书馆的借阅状况。 总之,Java Oracle图书管理系统是一种功能强大且易于使用的软件系统,它可以有效地管理图书资源,提供借阅管理、图书搜索和检索、用户管理以及统计分析等功能,为图书馆或书店提供了全面的信息管理解决方案。 ### 回答2: Java和Oracle图书管理系统是一种使用Java编程语言和Oracle数据库的软件应用程序,旨在帮助图书馆或其他机构管理其图书馆藏和服务。它所提供的功能可以包括以下几个方面。 首先,图书管理系统可以帮助图书馆管理图书的信息。它可以记录每本图书的基本信息,如书名、作者、出版日期、ISBN编号等。同时,它还可以记录图书的库存数量和所在位置,以便图书管理员能够更方便地管理和查找图书。 其次,该系统提供借阅和归还图书的功能。利用系统,读者可以通过输入借阅卡号或扫描图书信息将图书借出或归还。系统会自动更新图书的库存数量,并记录借阅和归还的时间和日期。这些信息对于读者的借阅历史和图书的流通情况都是非常有用的。 此外,图书管理系统还可以支持图书馆的预订和预定功能。读者可以在系统中搜索和预定他们感兴趣的图书,系统会自动记录预定信息并提醒读者图书可以借阅了。这样,读者可以更好地规划自己的阅读计划。 另外,该系统还可以提供一些辅助功能,如图书馆藏的统计和报表生成。图书管理员可以通过系统生成借阅报表、图书馆藏统计等相关数据报告,帮助他们更好地了解图书馆使用情况和获取借阅趋势。 综上所述,Java和Oracle图书管理系统是一种为图书馆或其他机构提供全面管理图书馆藏和服务的软件应用程序。它具有方便、高效、准确的特点,可以帮助图书馆提供更好的服务和管理图书馆藏。 ### 回答3: Java和Oracle可以结合使用来开发一个图书管理系统图书管理系统是一个用于管理图书馆的软件系统,它可以帮助图书馆管理图书的借还、归还、查询和统计等功能。 首先,我们使用Java来编写系统的前端界面。通过Java的GUI库,我们可以设计一个用户友好的界面,包括图书的搜索、借阅和归还等功能。用户可以通过输入关键词或者图书的相关信息进行检索,系统会通过与Oracle数据库的连接,从数据库中查询出符合条件的图书信息,并将其展示在界面上。用户可以选择要借阅的图书,并进行借阅操作。当图书被借出后,系统会自动减少该图书的库存量,并记录借阅者的相关信息。当图书归还时,系统会将图书的库存量增加,并更新归还日期和相关信息。 其次,我们使用Oracle数据库来存储和管理图书的相关信息。通过设计数据库的表结构,我们可以存储图书的基本信息、借阅者的信息、借阅记录和归还记录等。通过Java与Oracle数据库的连接,我们可以实现数据的增删改查等功能。当用户进行借阅操作时,系统会将借阅信息储存在数据库中,当用户进行归还操作时,系统会更新归还信息。 此外,我们可以通过Java和Oracle的组合,实现一些其他功能,如借阅记录的统计和图书的推荐等。通过统计借阅记录,我们可以获得图书的借阅热度和流行趋势等信息,进一步优化图书的管理策略。通过分析用户的借阅记录和阅读偏好,我们可以向用户推荐符合其兴趣的图书,提高系统的用户体验。 总之,Java和Oracle的组合可以实现一个功能完善的图书管理系统,帮助图书馆对图书进行有效的管理和服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值