图书管理系统的功能(方法的目录)
1、进入到图书管理的这个模块。
/**
* 图书管理
*
@param
loginR
*/
private
static
void
bookManager
(Reader
loginR
) {
int
flag
= 0;
do
{
System.out.println("1、修改 2、删除 3、添加 4、查看 5、查看所有图书");
int
type
=
sc
.nextInt();
if
(
type
==5) {
queryAllBook
();
}
else
if
(
type
==4) {
System.out.println("输入一个要修改的图书的编号");
int
bid
=
sc
.nextInt();
queryBookId
(
bid
);
}
else
if
(
type
==3) {
addBook
();
}
else
if
(
type
==1) {
updateBook
();
}
else
if
(
type
==2) {
System.out.println("请输入你删除的图书编号");
int
bid
=
sc
.nextInt();
String
sql
=
"delete from book_tb where b_id = "
+
bid
;
jt
.updateData(
sql
);
jt
.closeRes();
System.out.println("删除成功!");
}
System.out.println("是否退出图书管理?0/1");
flag
=
sc
.nextInt();
}while(flag==0);
}
2、添加图书。
/**
* 添加图书
*/
private
static
void
addBook() {
System.out.println("请输入图书的信息,名称,作者,库存");
String
name
=
sc
.next();
String
author
=
sc
.next();
int
number
=
sc
.nextInt();
String
sql
=
"insert into book_tb (b_name,b_author,b_number) values(?,?,?)"
;
List
params
=
new
ArrayList
();
params.add(name);
params.add(author);
params.add(number);
boolean
isok
=
jt
.updateData(
sql
,
params
);
jt.closeRes();
}
3、查看图书。
/**
* 查看指定的图书
*/
private
static
void
queryBookId(
int
bid
) {
String
sql
=
"select * from book_tb where b_id = "
+
bid
;
ResultSet
rs
=
jt
.query(
sql
);
try
{
if(rs.next()) {
System.out.println(rs.getInt(1)+"---"+rs.getString(2)+"---"+rs.getInt(6));
}
}
catch
(SQLException
e
) {
e.printStackTrace();
System.out.println("查看图书失败"+sql);
}
finally
{
jt.closeRes();
}
}
4、修改图书的信息。
/**
* 修改图书
*/
private
static
void
updateBook() {
System.out.println("输入一个要修改的图书的编号");
int
bid
=
sc
.nextInt();
queryBookId(bid);
//
System.out.println("输入要修改图书字段信息:出版社,价格");
String
press
=
sc
.next();
double
price
=
sc
.nextDouble();
String
sql
=
"update book_tb set b_press=? ,b_price = ? where b_id = ?"
;
List
params
=
new
ArrayList
();
params.add(press);
params.add(price);
params.add(bid);
boolean
isok
=
jt
.updateData(
sql
,
params
);
jt.closeRes();
System.out.println("修改成功!");
}
5、删除图书。
6、借书,就是针对于我们一个中间表进行操作。在这个表格中的一条记录就代表了一个读者借了一本书。
如果说一个读者有多条信息,在这个中间表中,那就说明他借了多本(种)书。
/**
* 借书
*/
private
static
void
jieshu(Reader
loginR
) {
int
flag
= 0;
do
{
// 借书
System.out.println("输入你要借书的id");
int
bid
=
sc
.nextInt();
Book
book
=
queryBookId
(
bid
);
if(book.getNumber()>0) {
String
sql
=
"insert into read_book_tb values("
+
bid
+
","
+
loginR
.getId()+
")"
;
String
sql2
=
"update book_tb set b_number=b_number-1 where b_id ="
+
bid
;
List
sqls
=
new
ArrayList
();
sqls.add(sql);
sqls.add(sql2);
jt.updateBatch(sqls);
jt.closeRes();
System.out.println("借书成功");
}
else
{
System.out.println("库存不足");
}
System.out.println("是否继续借书0/1");
flag
=
sc
.nextInt();
}while(flag==0);
}