package dao.impl;
import dao.BookDao;
import entity.BookInfo;
import util.DBHelper;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class BookDaoImpl implements BookDao {
@Override
public int addBook(BookInfo bookInfo) {
Connection connection = null;
PreparedStatement ps = null;
int n = 0;
try {
connection = DBHelper.getConnection();
String sql = "insert into bookinfo (bookid,bookname,editor,price,publishingHouse,publishingDate) " +
"values (?,?,?,?,?,?)";
ps = connection.prepareStatement(sql);
ps.setString(1, bookInfo.getBookid());
ps.setString(2, bookInfo.getBookname());
ps.setString(3, bookInfo.getEditor());
ps.setString(4, bookInfo.getPrice());
ps.setString(5, bookInfo.getPublishingHouse());
ps.setString(6, bookInfo.getPublishingDate());
n = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return n;
}
@Override
public BookInfo findBookById(String bookid) {
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
BookInfo bookInfo = null;
try{
connection = DBHelper.getConnection();
String sql = "select * from bookinfo where bookid = ?";
ps = connection.prepareStatement(sql);
ps.setString(1,bookid);
rs = ps.executeQuery();
while(rs.next()){
bookid = rs.getString("bookid");
String bookname = rs.getString("bookname");
String editor = rs.getString("editor");
String price = rs.getString("price");
String publishingHouse = rs.getString("publishingHouse");
String publishingDate = rs.getString("publishingDate");
bookInfo =new BookInfo(bookid,bookname,editor,price,publishingHouse,publishingDate);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
if(connection!=null){
try{
DBHelper.closeAll(rs,ps,connection);
} catch (Exception e) {
e.printStackTrace();
}
}
}
return bookInfo;
}
@Override
public List<BookInfo> findPageBook(int start, int end, String bookname, String editor) {
List<BookInfo> bookInfoList = new ArrayList<BookInfo>();
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
BookInfo bookInfo = null;
// 加载驱动
// 获取连接
try {
connection = DBHelper.getConnection();
String sql="select * from bookinfo where bookname like '%"+bookname+"%' and editor like '%"+editor+ "' order by bookid limit "+start+","+(end-start)+"";
ps = connection.prepareStatement(sql);
rs = ps.executeQuery();
// 处理结果
while (rs.next()) {
String bookid =rs.getString("bookid");
bookname = rs.getString("bookname");
editor = rs.getString("editor");
String price = rs.getString("price");
String publishingHouse = rs.getString("publishingHouse");
String publishingDate = rs.getString("publishingDate");
// 封装到对象中
bookInfo = new BookInfo(bookid,bookname,editor,price,publishingHouse,publishingDate);
bookInfoList.add(bookInfo);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {// 关闭资源
DBHelper.closeAll(rs, ps, connection);
}
return bookInfoList;
}
@Override
public List<BookInfo> findBook(String bookname, String editor) {
List<BookInfo> bookInfoList = new ArrayList<BookInfo>();
Connection connection = null;
PreparedStatement ps = null;
ResultSet rs = null;
BookInfo bookInfo = null;
// 加载驱动
// 获取连接
try {
connection = DBHelper.getConnection();
// 建立命令发送器(prepareStatement)
StringBuilder sql=new StringBuilder("select * from bookinfo where bookid = ? ");
if(bookname!=null && !"".equals(bookname)){
sql.append(" and bookname like '%").append(bookname).append("%'");
}
if(editor!=null && !"".equals(editor)){
sql.append(" and editor >= '").append(editor).append("'");
}
ps = connection.prepareStatement(sql.toString());
rs = ps.executeQuery();
// 处理结果
while (rs.next()) {
// 获取各个字段的值
String bookid = rs.getString("bookid");
bookname = rs.getString("bookname");
editor = rs.getString("editor");
String price = rs.getString("price");
String publishingHouse = rs.getString("publishingHouse");
String publishingDate = rs.getString("publishingDate");
// 封装到对象中
bookInfo = new BookInfo(bookid,bookname,editor,price,publishingHouse,publishingDate);
bookInfoList.add(bookInfo);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {// 关闭资源
DBHelper.closeAll(rs, ps, connection);
}
return bookInfoList;
}
@Override
public List<BookInfo> findAllBook() {
Connection connection =null;
PreparedStatement ps = null;
ResultSet rs= null;
List<BookInfo> bookInfoList = new ArrayList<BookInfo>();
BookInfo bookInfo = null;
try{
connection = DBHelper.getConnection();
String sql = "select * from bookinfo";
ps = connection.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()){
String bookid = rs.getString("bookid");
String bookname = rs.getString("bookname");
String editor = rs.getString("editor");
String price = rs.getString("price");
String publishingHouse = rs.getString("publishingHouse");
String publishingDate = rs.getString("publishingDate");
bookInfo = new BookInfo(bookid,bookname,editor,price,publishingHouse,publishingDate);
bookInfoList.add(bookInfo);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try{
DBHelper.closeAll(rs,ps,connection);
} catch (Exception e) {
e.printStackTrace();
}
}
return bookInfoList;
}
@Override
public boolean deleteBook(String bookid) {
boolean statuscode = false;
Connection connection = null;
PreparedStatement ps2 = null;
try {
connection = DBHelper.getConnection();
String sql2 = "delete from bookinfo where bookid=?";
ps2 = connection.prepareStatement(sql2);
ps2.setString(1,bookid);
ps2.executeUpdate();
statuscode = true;
}catch(Exception e) {
e.printStackTrace();
}finally {
DBHelper.closeAll(null, ps2, connection);
}
return statuscode;
}
@Override
public int updateBook(BookInfo bookInfo) {
Connection connection = nul
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
MVC图书管理系统.zip (149个子文件)
BookDaoImpl.class 7KB
BookDaoImpl.class 7KB
LoginServlet.class 4KB
LoginServlet.class 4KB
UserDaoImpl.class 3KB
UserDaoImpl.class 3KB
AddBookServlet.class 3KB
AddBookServlet.class 3KB
RegistServlet.class 3KB
RegistServlet.class 3KB
UpdateBookServlet.class 3KB
UpdateBookServlet.class 3KB
FindAllBookServlet.class 3KB
FindAllBookServlet.class 3KB
PreUpdateBookServlet.class 3KB
PreUpdateBookServlet.class 3KB
PageBean.class 3KB
PageBean.class 3KB
LoginFilterImpl.class 2KB
LoginFilterImpl.class 2KB
FindBookByIdServlet.class 2KB
FindBookByIdServlet.class 2KB
BookInfo.class 2KB
BookInfo.class 2KB
BookServiceImpl.class 2KB
BookServiceImpl.class 2KB
DBHelper.class 2KB
DBHelper.class 2KB
RemoveBookServlet2.class 2KB
RemoveBookServlet2.class 2KB
RemoveBookServlet.class 2KB
RemoveBookServlet.class 2KB
UserInfo.class 2KB
UserInfo.class 2KB
ErrorFilterImpl.class 1KB
ErrorFilterImpl.class 1KB
UpDateBookTest.class 990B
UpDateBookTest.class 990B
UserServiceImpl.class 909B
UserServiceImpl.class 909B
FindAllBookTest.class 827B
FindAllBookTest.class 827B
FindByIdTest.class 781B
FindByIdTest.class 781B
UserInfoTest.class 778B
UserInfoTest.class 778B
FindBookByIdTest.class 755B
FindBookByIdTest.class 755B
DeleteBookTest.class 729B
DeleteBookTest.class 729B
BookService.class 708B
BookService.class 708B
BookDao.class 700B
BookDao.class 700B
ErrorFilter.class 650B
ErrorFilter.class 650B
LoginFilter.class 650B
LoginFilter.class 650B
UserOperationException.class 445B
UserOperationException.class 445B
BookOperationException.class 445B
BookOperationException.class 445B
UserService.class 274B
UserService.class 274B
UserDao.class 262B
UserDao.class 262B
MVC图书管理系统.iml 1KB
mysql-connector-java-8.0.16.jar 2.19MB
mysql-connector-java-8.0.16.jar 2.19MB
jstl-1.2.jar 405KB
jstl-1.2.jar 405KB
BookDaoImpl.java 9KB
PageBean.java 5KB
LoginServlet.java 3KB
UserDaoImpl.java 3KB
LoginFilterImpl.java 3KB
AddBookServlet.java 2KB
UpdateBookServlet.java 2KB
RegistServlet.java 2KB
BookInfo.java 2KB
DBHelper.java 2KB
PreUpdateBookServlet.java 2KB
BookDao.java 2KB
FindAllBookServlet.java 2KB
RemoveBookServlet.java 2KB
FindBookByIdServlet.java 2KB
BookServiceImpl.java 2KB
RemoveBookServlet2.java 1KB
UserInfo.java 1KB
UserServiceImpl.java 800B
BookService.java 680B
ErrorFilterImpl.java 611B
UpDateBookTest.java 462B
ErrorFilter.java 452B
FindAllBookTest.java 450B
LoginFilter.java 446B
FindByIdTest.java 352B
FindBookByIdTest.java 325B
DeleteBookTest.java 313B
UserInfoTest.java 313B
共 149 条
- 1
- 2
资源评论
- 蟹蛛2023-07-28MVC图书管理系统.zip文件的内容非常实用,对于图书馆或个人图书管理都很适用。
- 马虫医生2023-07-28这个文件中的MVC图书管理系统功能齐全,简洁易懂,非常实用。
- 今年也要加油呀2023-07-28这个文件包含了一个MVC图书管理系统,给用户提供了方便快捷的图书管理方式。
- 空城大大叔2023-07-28这个文件提供了一个很棒的MVC图书管理系统,非常实用。
- 销号le2023-07-28这个文件里的MVC图书管理系统设计合理,使用简单,适合初学者使用。
桃浪十七丶
- 粉丝: 83
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功