基于Web设计实习报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Web设计实习报告
课程设计题目:网上书店
桂林理工大学信息科学与工程学院班级:计算机11-1班报告人姓名:陈啟森
学号:
承担角色:程序设计员
同组组长:
同组其他成员:
实验指导教师:邓酩
实验地点: 02513
完成起止日期:
[正文] 用户模块:
后台管理:
我主要负责上面两个模块中需要用到的数据库访问层(DAO),以及其具体的数据的增、删、改 的实现方法,为了做到这些操作我创建了对应的包及其类: 1、针对book 表的操作
在com.bsw.book 包中放置Book.java 和BookDAO.java 文件。 2、针对BookCategory 表的操作
在com.bsw.bookcategory 包中放置BookCategory.java 和BookCategoryDAO.java 文件。 3、针对shopcart 表的操作
在com.bsw.shopcart 包中放置ShopCart.java 和ShopCartDAO.java 文件。 4、针对traderecord 表的操作
在com.bsw.traderecord包中放置TradeRecord.java和TradeRecordDAO.java文件。
5、针对user表的操作
在er包中放置User.java和UserDAO.java文件。
增、删、改具体实现方法以book表为例:
插入功能实现:
/**
* 插入Book对象到数据库中
* @param book 将要插入的Book对象
* @return 是否插入成功
*/
public boolean insertBook(Book book){
// 获得数据库的连接对象
connection = DBManager.getConnection();
// 生成SQL代码
StringBuffer sqlState = new StringBuffer();
sqlState.append("INSERT INTO book(name,url,author,bookman,");
sqlState.append("status,price,categoryId,introduction,total,currentNum,addTi me)");
sqlState.append(" VALUES(?,?,?,?,?,?,?,?,?,?,?)");
// 设置数据库的字段值
try {
preState = connection.prepareStatement(sqlState.toString());
preState.setString(1, book.getName());
preState.setString(2, book.geturl());
preState.setString(3, book.getAuthor());
preState.setString(4, book.getBookman());
preState.setInt(5, book.getStatus());
preState.setDouble(6, book.getPrice());
preState.setInt(7, book.getCategoryId());
preState.setString(8, book.getIntroduction());
preState.setInt(9, book.getTotal());
preState.setInt(10, book.getCurrentNum());
preState.setDate(11, book.getAddTime());
//System.out.println(sqlState);
// 设置事务的开始,并更新数据库,最后提交事务
preState.execute("begin");
preState.executeUpdate();
preState.execute("commit");
return true;
} catch (SQLException e) {
// 插入失败则回滚
try {
preState.execute("rollback");
} catch (SQLException e1) {
e1.printStackTrace();
return false;
}
e.printStackTrace();
} finally {
DBManager.closeAll(connection, state, resultSet);
}
return false;
}
删除功能实现:
/**
* 删除给定ID的书
*
* @param bookID 给定的书ID
* @return 真或假
*/
public boolean deleteBook(int bookID){
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
try{
conn=DBManager.getConnection();
stmt=conn.createStatement();
String sqlStr="delete from book where id="+bookID;
stmt.execute("begin"); // 事务保证删除成功
stmt.executeUpdate(sqlStr);
stmt.execute("commit");
//System.out.println("delete success!");
return true;
}catch(SQLException e){
try{
stmt.execute("rollback"); // 回滚
}catch(SQLException e1){
e1.printStackTrace();
}
e.printStackTrace();
return false;
}finally{
DBManager.closeAll(conn,stmt,rs);
}
}
修改功能实现:
/**
* 用给定的对象更新数据库与所给定对象ID号相同记录
*
* @param book 给定书的对象
* @return 真或假