表名: titles 字段名 Titleld titlename 包含的数据有图书号1234 4321数据类型 intvar char 说明图书号、主键书名书名 Java 设计基础 JavaWeb 开发技术通过 JSP 、 JavaBean 、 JDBC 、 Servlet 技术,实现图书删除功能:1、创建 JavaBean 类(实体类、数据库连接类)2、创建数据库表操作接口及相应的操作类3、实现删除功能的 Servlet 类4、创建删除页面(通过输入图书号或书名进行删除)、删除成功页面整个项目包括(但不限于):2个 JSP 页面、1个 Servlet 类、2个 JavaBean 类、1个操作接口、1个操作类
时间: 2023-11-18 08:02:15 浏览: 161
java项目史上最简单的数据excel导出教程(demo)-- 小白一看就会
好的,下面是实现图书删除功能的步骤:
1. 创建JavaBean类
JavaBean类用于将数据库中的数据映射成对象,方便在Java程序中进行操作。对于titles表,可以创建一个Title类,如下:
```java
public class Title {
private int Titleld;
private String titlename;
public int getTitleld() {
return Titleld;
}
public void setTitleld(int titleld) {
Titleld = titleld;
}
public String getTitlename() {
return titlename;
}
public void setTitlename(String titlename) {
this.titlename = titlename;
}
}
```
2. 创建数据库表操作接口及相应的操作类
为了方便操作数据库,可以创建一个TitleDao接口,包含增删改查等操作,如下:
```java
public interface TitleDao {
//添加图书信息
public void addTitle(Title title);
//删除图书信息
public void deleteTitle(int id);
//修改图书信息
public void updateTitle(Title title);
//查询图书信息
public Title getTitleById(int id);
public Title getTitleByName(String name);
}
```
然后,可以创建一个TitleDaoImpl类,实现TitleDao接口,并对titles表进行操作,如下:
```java
public class TitleDaoImpl implements TitleDao {
//添加图书信息
@Override
public void addTitle(Title title) {
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DBUtil.getConnection();
String sql = "INSERT INTO titles VALUES(?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, title.getTitleld());
pstmt.setString(2, title.getTitlename());
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(pstmt);
DBUtil.close(conn);
}
}
//删除图书信息
@Override
public void deleteTitle(int id) {
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DBUtil.getConnection();
String sql = "DELETE FROM titles WHERE Titleld=?";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(pstmt);
DBUtil.close(conn);
}
}
//修改图书信息
@Override
public void updateTitle(Title title) {
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DBUtil.getConnection();
String sql = "UPDATE titles SET titlename=? WHERE Titleld=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, title.getTitlename());
pstmt.setInt(2, title.getTitleld());
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(pstmt);
DBUtil.close(conn);
}
}
//查询图书信息
@Override
public Title getTitleById(int id) {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
Title title = null;
try {
conn = DBUtil.getConnection();
String sql = "SELECT * FROM titles WHERE Titleld=?";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
rs = pstmt.executeQuery();
if(rs.next()) {
title = new Title();
title.setTitleld(rs.getInt("Titleld"));
title.setTitlename(rs.getString("titlename"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(rs);
DBUtil.close(pstmt);
DBUtil.close(conn);
}
return title;
}
@Override
public Title getTitleByName(String name) {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
Title title = null;
try {
conn = DBUtil.getConnection();
String sql = "SELECT * FROM titles WHERE titlename=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
rs = pstmt.executeQuery();
if(rs.next()) {
title = new Title();
title.setTitleld(rs.getInt("Titleld"));
title.setTitlename(rs.getString("titlename"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(rs);
DBUtil.close(pstmt);
DBUtil.close(conn);
}
return title;
}
}
```
其中,DBUtil是一个数据库连接工具类,用于获取连接和关闭连接等操作。
3. 实现删除功能的Servlet类
可以创建一个TitleDeleteServlet类,用于处理删除请求,如下:
```java
public class TitleDeleteServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取图书号或书名
String idStr = req.getParameter("id");
String name = req.getParameter("name");
int id = -1;
if(idStr != null && idStr.length() > 0) {
id = Integer.parseInt(idStr);
}
//删除图书信息
TitleDao titleDao = new TitleDaoImpl();
if(id != -1) {
titleDao.deleteTitle(id);
} else if(name != null && name.length() > 0) {
Title title = titleDao.getTitleByName(name);
if(title != null) {
titleDao.deleteTitle(title.getTitleld());
}
}
//跳转到删除成功页面
resp.sendRedirect("delete_success.jsp");
}
}
```
4. 创建删除页面及删除成功页面
可以创建一个delete.jsp页面,用于输入图书号或书名进行删除,如下:
```html
<form action="TitleDeleteServlet" method="post">
<table>
<tr>
<td>图书号:</td>
<td><input type="text" name="id"></td>
</tr>
<tr>
<td>书名:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="删除"></td>
</tr>
</table>
</form>
```
还可以创建一个delete_success.jsp页面,用于显示删除成功信息,如下:
```html
<h1>图书信息删除成功!</h1>
<a href="delete.jsp">返回</a>
```
以上就是实现图书删除功能的步骤,其中包括了2个JSP页面,1个Servlet类,2个JavaBean类,1个操作接口和1个操作类。
阅读全文