删除单条数据
list.jsp
<td>
<a href="#">修改</a>
a href="${basePath}DeleteOneServlet.action?id=${message.id}">删除</a>
</td>
DeleteOneServlet.java
package com.example.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.example.service.MaintainService;
/**
* 单条删除控制层
*
* @author Jeremy_Lin
*
*/
@SuppressWarnings("serial")
public class DeleteOneServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// 设置编码
req.setCharacterEncoding("UTF-8");
// 接受页面的值
String id = req.getParameter("id");
MaintainService maintainService = new MaintainService();
maintainService.deleteOne(id);
// 向页面跳转
req.getRequestDispatcher("/List.action").forward(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doGet(req, resp);
}
}
MaintainService.java
package com.example.service;
import com.example.dao.MessageDao;
/**
* 维护相关的业务功能
*
* 稍微复杂一点的逻辑都丢这里
*
* @author Jeremy_Lin
*
*/
public class MaintainService {
/**
* 单条删除
*/
public void deleteOne(String id) {
if (id != null && !"".equals(id.trim())) {
MessageDao messageDao = new MessageDao();
messageDao.deleteOne(Integer.valueOf(id));
}
}
}
MessageDao.java
/**
* 单条删除
* @param id
*/
public void deleteOne(int id) {
DBAccess dbAccess = new DBAccess();
SqlSession sqlSession = null;
try {
sqlSession = dbAccess.getSqlSession();
// 通过sqlSession执行SQL语句 namespace.id
// 只能传递一个变量
sqlSession.delete("Message.deleteOne", id);
sqlSession.commit();
} catch (IOException e) { // 在Dao层处理异常
e.printStackTrace();
} finally {
if (sqlSession != null) {
sqlSession.close();
}
}
}
Message.xml
<delete id="deleteOne" parameterType="int">
delete from MESSAGE where ID = #{_parameter}
</delete>
代码:点击打开链接