JAVAWEB实现增删查改(图书信息管理)之添加功能实现
时间: 2023-11-26 12:06:27 浏览: 135
javaweb图书信息增删改查
5星 · 资源好评率100%
好的,针对您的问题,我可以简单介绍一下JAVAWEB实现图书信息管理系统中的添加功能实现。
首先,您需要在前端页面上设计好图书信息添加的界面,包括图书名称、作者、出版社、出版日期、价格等相关信息的输入框,并且需要通过表单的方式将这些信息提交到后端。
然后,在后端中,您需要创建一个Servlet来处理前端传递过来的数据,将其封装成一个Book对象,再通过DAO层的接口调用实现将该对象插入到数据库中。
具体实现步骤如下:
1. 在前端页面中设计好图书信息添加的界面,包括图书名称、作者、出版社、出版日期、价格等相关信息的输入框,并且需要通过表单的方式将这些信息提交到后端。
2. 创建一个Book类,用于封装前端传递过来的图书信息。
```java
public class Book {
private int id; // 图书编号
private String name; // 图书名称
private String author; // 作者
private String publisher; // 出版社
private Date publishDate; // 出版日期
private double price; // 价格
// 省略getter和setter方法
}
```
3. 创建一个BookDAO接口,用于定义对图书信息的增删改查操作。
```java
public interface BookDAO {
// 添加图书
public boolean addBook(Book book);
// 删除图书
public boolean deleteBook(int id);
// 修改图书
public boolean updateBook(Book book);
// 查询所有图书
public List<Book> findAll();
// 根据id查询图书
public Book findById(int id);
}
```
4. 创建一个BookDAOImpl类,实现BookDAO接口中的所有方法,并且在addBook方法中实现将图书信息插入到数据库中的操作。
```java
public class BookDAOImpl implements BookDAO {
// 省略成员变量和构造方法
// 添加图书
public boolean addBook(Book book) {
Connection conn = null;
PreparedStatement pstmt = null;
boolean flag = false;
try {
conn = DBUtil.getConnection();
String sql = "insert into book(name, author, publisher, publishDate, price) values(?, ?, ?, ?, ?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, book.getName());
pstmt.setString(2, book.getAuthor());
pstmt.setString(3, book.getPublisher());
pstmt.setDate(4, new java.sql.Date(book.getPublishDate().getTime()));
pstmt.setDouble(5, book.getPrice());
int count = pstmt.executeUpdate();
if(count > 0) {
flag = true;
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(pstmt, conn);
}
return flag;
}
// 省略其他方法的实现
}
```
5. 创建一个AddBookServlet类,用于处理前端传递过来的图书信息,将其封装成一个Book对象,并且调用BookDAOImpl中的addBook方法将该对象插入到数据库中。
```java
public class AddBookServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
String author = request.getParameter("author");
String publisher = request.getParameter("publisher");
String publishDateStr = request.getParameter("publishDate");
double price = Double.parseDouble(request.getParameter("price"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date publishDate = null;
try {
publishDate = sdf.parse(publishDateStr);
} catch (ParseException e) {
e.printStackTrace();
}
Book book = new Book();
book.setName(name);
book.setAuthor(author);
book.setPublisher(publisher);
book.setPublishDate(publishDate);
book.setPrice(price);
BookDAO bookDAO = new BookDAOImpl();
boolean flag = bookDAO.addBook(book);
if(flag) {
response.sendRedirect("list");
} else {
response.sendRedirect("add.jsp");
}
}
}
```
6. 最后,在web.xml文件中配置AddBookServlet类的映射关系。
```xml
<servlet>
<servlet-name>AddBookServlet</servlet-name>
<servlet-class>com.example.servlet.AddBookServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AddBookServlet</servlet-name>
<url-pattern>/addBook</url-pattern>
</servlet-mapping>
```
这样,当您在前端页面中填写好图书信息并且提交表单时,AddBookServlet类就会被调用,将其封装成一个Book对象,并且通过BookDAOImpl中的addBook方法将该对象插入到数据库中。
阅读全文