学习了三周,终于到了最后一天,今天是答辩时间。
结合所学知识做出一个项目,我做了一个图书管理系统。
1.数据
用户:用户编号,用户名,密码
图书:图书ISBN,图书名称,图书作者,图书价格,借书人,借书电话。
2.数据库的建立
a.books图书信息管理表
b.users用户信息表
3.主要Java代码分析
a.Dao类(图书Dao类为例)
public class BookDao implements IBook {
DBUtil db=new DBUtil();
@Override
public void insertBook(Book newBook) throws Exception {
//增加借阅图书信息
Connection conn=db.getConn();
PreparedStatement pstm=null;
String sql_insert="insert into books values(?,?,?,?,?,?,?,?)";
pstm=conn.prepareStatement(sql_insert);
pstm.setInt(1,newBook.getId());
pstm.setString(2,newBook.getISBN());
pstm.setString(3,newBook.getBookName());
pstm.setDouble(4,newBook.getPrice());
pstm.setString(5,newBook.getAuthor());
pstm.setString(6,newBook.getPublish());
pstm.setString(7,newBook.getBorrowerName());
pstm.setString(8,newBook.getBorrowerPhone());
int row=pstm.executeUpdate();
System.out.println("添加成功"+row+"行收到影响");
db.closeConn(null,pstm,conn);
}
// 根据编号删除信息记录
@Override
public void deleteBook(int id) throws Exception {
Scanner input=new Scanner(System.in);
UserDao userDao=new UserDao();
BookService bookService=new BookService();
System.out.println("请输入您的id,我们需要检测你的身份");
int in=input.nextInt();
int fn=userDao.findtype(in);
Connection conn=db.getConn();
PreparedStatement pstm=null;
if(fn==0){
String sql_delete="delete from books where id=?";
pstm=conn.prepareStatement(sql_delete);
pstm.setInt(1,id);
int row=pstm.executeUpdate();
if (row!=0){
System.out.println("删除成功,"+row+"行收到影响");
}
}else {
System.out.println("\n您不是管理员,您没有权限删除用户信息,抱歉!\n我们将自动为您返回菜单\n");
bookService.do_getMenu();
}
db.closeConn(null,pstm,conn);
}
@Override
public void updateBook(int id, Book modBook) throws Exception {
//根据编号修改借阅图书信息
Connection conn = db.getConn();
PreparedStatement pstm = null;
String sql_update = "update books set ISBN=?, bookname=?, price=?, author=?,publish=?,borrowername=?, borrowerphone=? where id=?";
pstm = conn.prepareStatement(sql_update);
pstm.setString(1,modBook.getISBN());
pstm.setString(2,modBook.getBookName());
pstm.setDouble(3,modBook.getPrice());
pstm.setString(4,modBook.getAuthor());
pstm.setString(5,modBook.getPublish());
pstm.setString(6,modBook.getBorrowerName());
pstm.setString(7,modBook.getBorrowerPhone());
pstm.setInt(8,id);
int row = pstm.executeUpdate();
System.out.println("修改成功,"+row+"行受到影响");
db.closeConn(null, pstm, conn);
}
@Override
public void selectByID(int id) throws