package com.valentinalee.bms.dal.impl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import com.valentinalee.bms.dal.BookDAO;
import com.valentinalee.bms.util.DBUtil;
import com.valentinalee.bms.util.ThisAppUtil;
import com.valentinalee.bms.vo.BookVO;
public class BookDAOImpl implements BookDAO {
public BookVO getByISBN(String isbn) throws SQLException {
Connection con=DBUtil.getConnection();
String sql="select * from sys_book where cisbn=?";
try{
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1, isbn);
ResultSet rs=ps.executeQuery();
if(rs.next()){
BookVO vo=new BookVO();
vo.setAuthor(rs.getString("cauthor"));
vo.setBookType(rs.getString("cbooktype"));
vo.setISBN(rs.getString("cisbn"));
vo.setLeftAmount(rs.getInt("iLeftamount"));
vo.setName(rs.getString("cname"));
vo.setPrice(rs.getDouble("fprice"));
vo.setPublisher(rs.getString("cpublisher"));
vo.setStoreAmount(rs.getInt("iStoreamount"));
vo.setId(rs.getString("cid"));
return vo;
}
}finally{
DBUtil.close(con);
}
return null;
}
public BookVO getById(String id) throws SQLException {
Connection con=DBUtil.getConnection();
String sql="select * from sys_book where cid=?";
try{
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1, id);
ResultSet rs=ps.executeQuery();
if(rs.next()){
BookVO vo=new BookVO();
vo.setAuthor(rs.getString("cauthor"));
vo.setBookType(rs.getString("cbooktype"));
vo.setISBN(rs.getString("cisbn"));
vo.setLeftAmount(rs.getInt("iLeftamount"));
vo.setName(rs.getString("cname"));
vo.setPrice(rs.getDouble("fprice"));
vo.setPublisher(rs.getString("cpublisher"));
vo.setStoreAmount(rs.getInt("iStoreamount"));
vo.setId(rs.getString("cid"));
return vo;
}
}finally{
DBUtil.close(con);
}
return null;
}
public boolean isExsitISBN(String isbn) throws SQLException {
Connection con=DBUtil.getConnection();
String sql="select cisbn from sys_book where cisbn=?";
try{
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1, isbn);
ResultSet rs=ps.executeQuery();
if(rs.next()){
return true;
}
}finally{
DBUtil.close(con);
}
return false;
}
public BookVO addBook(BookVO vo) throws Exception {
Connection con=DBUtil.getConnection();
String sql="insert into sys_book(cid,cname,cisbn,cauthor," +
"cpublisher,cbooktype,fprice,iStoreamount,iLeftamount) " +
"values(?,?,?,?,?,?,?,?,?)";
try{
PreparedStatement ps=con.prepareStatement(sql);
int i=1;
vo.setId(DBUtil.uuid());
ps.setString(i++,vo.getId());
ps.setString(i++, vo.getName());
ps.setString(i++, vo.getISBN());
ps.setString(i++, vo.getAuthor());
ps.setString(i++, vo.getPublisher());
ps.setString(i++, vo.getBookType());
ps.setDouble(i++, vo.getPrice());
ps.setInt(i++, vo.getStoreAmount());
ps.setInt(i++, vo.getLeftAmount());
ps.executeUpdate();
//提交事务
con.commit();
}catch(SQLException e){
//事务回滚
con.rollback();
throw e;
}finally{
DBUtil.close(con);
}
return vo;
}
public int deleteBook(String id) throws Exception{
int n=0;
Connection con=DBUtil.getConnection();
String sql="delete from sys_book where cid=?";
try{
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1, id);
n=ps.executeUpdate();
con.commit();
}catch(SQLException e){
con.rollback();
throw e;
}finally{
DBUtil.close(con);
}
return n;
}
public int queryBookByKey(Map<String,Object> fieldsMap, int pageSize, int pageNo,
List<BookVO> pageData) throws Exception {
int totalCount=0;
Connection con=DBUtil.getConnection();
StringBuilder whereSQL=new StringBuilder();
whereSQL.append(" from sys_book where 1=1 ");
String name=(String)fieldsMap.get("name");
if(!ThisAppUtil.isNone(name)){
whereSQL.append(" and cname like '%").append(name).append("%'");
}
String isbn=(String)fieldsMap.get("isbn");
if(!ThisAppUtil.isNone(isbn)){
whereSQL.append(" and cisbn like '%").append(isbn).append("%'");
}
String author=(String)fieldsMap.get("author");
if(!ThisAppUtil.isNone(author)){
whereSQL.append(" and cauthor like '%").append(author).append("%'");
}
String publisher=(String)fieldsMap.get("publisher");
if(!ThisAppUtil.isNone(publisher)){
whereSQL.append(" and cpublisher = '").append(publisher).append("'");
}
String[] types=(String[])fieldsMap.get("checkedTypes");
if(types!=null&&types.length!=0){
whereSQL.append(" and (");
for (int i = 0; i < types.length; i++) {
if(i!=0){
whereSQL.append(" or ");
}
whereSQL.append(" cbooktype ='").append(types[i])
.append("'");
}
whereSQL.append(")");
}
Integer minStoreAmount=(Integer)fieldsMap.get("minStoreAmount");
Integer maxStoreAmount=(Integer)fieldsMap.get("maxStoreAmount");
if(minStoreAmount!=null&&maxStoreAmount!=null){
whereSQL.append(" and (iStoreAmount>="+minStoreAmount+" and iStoreAmount<"+maxStoreAmount+")");
}else if(minStoreAmount!=null&&maxStoreAmount==null){
whereSQL.append(" and iStoreAmount>="+minStoreAmount);
}else if(minStoreAmount==null&&maxStoreAmount!=null){
whereSQL.append(" and iStoreAmount<"+maxStoreAmount);
}
PreparedStatement ps=con.prepareStatement("select count(*) "+whereSQL.toString());
ResultSet rs=ps.executeQuery();
if(rs.next()){
if((totalCount=rs.getInt(1))==0){
return 0;
}
}
ps.close();
StringBuilder selectSQL=new StringBuilder();
selectSQL.append("select * ").append(whereSQL);
selectSQL.append(" limit ").append((pageNo-1)*pageSize).append(",")
.append(pageSize);
try{
ps=con.prepareStatement(selectSQL.toString());
rs=ps.executeQuery();
while(rs.next()){
BookVO vo=new BookVO();
vo.setAuthor(rs.getString("cauthor"));
vo.setBookType(rs.getString("cbooktype"));
vo.setISBN(rs.getString("cisbn"));
vo.setName(rs.getString("cname"));
vo.setPublisher(rs.getString("cpublisher"));
vo.setId(rs.getString("cid"));
vo.setLeftAmount(rs.getInt("iLeftamount"));
vo.setPrice(rs.getDouble("fprice"));
vo.setStoreAmount(rs.getInt("iStoreamount"));
pageData.add(vo);
}
}finally{
DBUtil.close(con);
}
return totalCount;
}
public void update(BookVO vo) throws SQLException {
Connection con=DBUtil.getConnection();
String sql="update sys_book set cname=?,cisbn=?,cauthor=?,cpublisher=?,cbooktype=?,fprice=?,iStoreamount=?,iLeftamount=? where cid=?";
try{
PreparedStatement ps=con.prepareStatement(sql);
int i=1;
ps.setString(i++, vo.getName());
ps.setString(i++, vo.getISBN());
ps.setString(i++, vo.getAuthor());
ps.setString(i++, vo.getPublisher());
ps.setString(i++, vo.getBookType());
ps.setDouble(i++, vo.getPrice());
ps.setInt(i++, vo.getLeftAmount());
ps.setInt(i++, vo.getLeftAmount());
ps.setString(i++,vo.getId());
ps.executeUpdate();
//提交事务
con.commit();
}catch(SQLException e){
//事务回滚
con.rollback();
throw e;
}finally{
DBUtil.close(con);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于servlet+JSP实现图书管理系统源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于servlet+JSP实现图书管理系统源码.zip (98个子文件)
code_20105
bms
.classpath 1KB
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.jdt.core.prefs 357B
org.eclipse.core.resources.prefs 60B
.jsdtscope 510B
org.eclipse.wst.common.component 461B
org.eclipse.wst.common.project.facet.core.xml 401B
org.eclipse.wst.jsdt.ui.superType.container 49B
src
xiangmu.sql 7KB
com
valentinalee
bms
bll
BookService.java 1022B
StudentService.java 1KB
ManagerService.java 541B
BorrowService.java 1KB
PublisherService.java 340B
impl
TypeServiceImpl.java 412B
ManagerServiceImpl.java 1KB
BookServiceImpl.java 2KB
PublisherServiceImpl.java 473B
StudentServiceImpl.java 2KB
BorrowServiceImpl.java 3KB
TypeService.java 316B
web
servlet
book
AddBookServlet.java 2KB
QueryBookSevlet.java 3KB
ShowQueryBookServlet.java 1KB
ShowServlet.java 2KB
UpdateBookServlet.java 2KB
DeleteBookServlet.java 1KB
borrow
AddServlet.java 1KB
QueryStudentServlet.java 2KB
QueryStudentNoGiveBackServlet.java 1KB
LogoutServlet.java 483B
manager
UpdatePasswordServlet.java 1KB
LoginServlet.java 2KB
student
QueryStudentServlet.java 2KB
ShowServlet.java 1KB
DeleteStudentServlet.java 1KB
AddStudentServlet.java 2KB
UpdateStudentServlet.java 2KB
listener
ApplicationListener.java 1KB
dal
BorrowDAO.java 972B
StudentDAO.java 1KB
ManagerDAO.java 762B
BookDAO.java 1KB
impl
TypeDAOImpl.java 833B
PublisherDAO.java 349B
BookDAOImpl.java 7KB
StudentDAOImpl.java 5KB
ManagerDAOImpl.java 2KB
PublisherDAOImpl.java 838B
BorrowDAOImpl.java 5KB
TypeDAO.java 318B
exception
ThisAppException.java 330B
util
ValidateUtil.java 337B
DBUtil.java 1KB
ThisAppUtil.java 906B
vo
StudentVO.java 1KB
PublisherVO.java 394B
BorrowVO.java 2KB
TypeVO.java 351B
ManagerVO.java 988B
BookVO.java 2KB
WebRoot
WEB-INF
lib
mysql-connector-java-5.1.11-bin.jar 715KB
ojdbc14_g.jar 1.84MB
web.xml 6KB
js
book
list.js 1KB
borrow
list.js 1KB
common.js 4KB
calendar
lang
zh-cn.js 1KB
en.js 631B
calendar.js 22KB
WdatePicker.js 10KB
skin
WdatePicker.css 182B
default
img.gif 2KB
datepicker.css 3KB
datePicker.gif 1KB
index.js 1KB
student
modPassword.js 819B
showOrMod.js 977B
add.js 951B
list.js 1KB
css
common.css 5KB
login.css 832B
index.css 2KB
META-INF
MANIFEST.MF 36B
jsp
index.jsp 2KB
book
add.jsp 4KB
update.jsp 3KB
queryBook.jsp 7KB
borrow
add2.jsp 4KB
add1.jsp 4KB
welcome.jsp 584B
manager
update.jsp 1KB
student
add.jsp 2KB
queryStudent.jsp 5KB
update.jsp 2KB
login.jsp 1KB
.project 1KB
.gitignore 58B
共 98 条
- 1
资源评论
土豆片片
- 粉丝: 1528
- 资源: 5641
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功