5.5 管理员还书功能

管理员可以进入借阅图书的界面,修改这个页面,增加一列功能列,完成还书功能。
只需要把借书记录的id放入url,例如:
<a href="return.jsp?id=<%=borrowBook.getId()%>">点击还书</a></td>
然后在return.jsp,调用ReturnBookData的还书函数,完成还书:
package db;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ReturnBookData{
    public static void insert(String borrowId){
        java.text.SimpleDateFormat dateFormat=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time=dateFormat.format(new java.util.Date());
        // 要执行的sql语句,通过字符串拼接出来
        String SQLTEXT=String.format("insert into return_book(`borrow_id`,`datetime`) values('"+borrowId+"','"+time+"')");
        try{
            // 使用上面的DBConifg类的getCon方法,建立一个连接
            Connection con=DBConfig.getCon();
            // 准备执行sql的实体
            Statement stmt=con.createStatement();
            // 执行sql,没有查询结果返回,返回结果是执行成功true或者失败
            false boolean rst=stmt.execute(SQLTEXT);
            //
             while(rst.next()){
                // 查询结果
                result=rst.getString("nickname");
                //
            }
            // 后使用先关闭原则,关闭各个对象,特别是con如果不关闭,会造成连接泄露
            stmt.close();
            con.close();
        }
        catch(SQLException e){
            e.printStackTrace();
        }
    }
}
后续功能:
检查该书是否已经归还,如果是,那么显示已还:
具体做法是ReturnBookData用下面的函数,检查是否已还:
public static boolean isReturn(String borrowId){
    int number=0;
    // 要执行的sql语句,通过字符串拼接出来
    String SQLTEXT="select count(*) from return_book where borrow_id = '"+borrowId+"'";
    try{
        // 使用上面的DBConifg类的getCon方法,建立一个连接
        Connection con=DBConfig.getCon();
        // 准备执行sql的实体
        Statement stmt=con.createStatement();
        // 执行sql,并把查询结果赋给rst
        ResultSet rst=stmt.executeQuery(SQLTEXT);
        while(rst.next()){
            number=rst.getInt("count(*)");
        }
        // 后使用先关闭原则,关闭各个对象,特别是con如果不关闭,会造成连接泄露
        rst.close();
        stmt.close();
        con.close();
    }
    catch(SQLException e){
        e.printStackTrace();
    }
    if(number > 0){
        return true;
    }
    return false;
}



2.管理员有一个图书管理功能,展示图书列表外,最后一列是修改,可以修改该图书的所有属性(id除外)。流程应该是点击修改链接后进入一个新的jsp页面,根据图书id把该图书的属性读出列到表单,下方的按钮是更新。
3.管理员在用户列表,增加两个功能,一个是修改昵称,一个是重置密码

练习题