springmvc+mybatis 根据数据的id删除数据

1. 数据库表

2. notices.jsp

<form action="#" method="post">
<fieldset>
    <legend>新闻浏览:</legend>
    <table width="800" border="1" cellspacing="0" cellpadding="0">
    <tbody style="text-align: center">
        <tr>
            <th scope="col">编号</th>
            <th width="260" scope="col">标题</th>
            <th scope="col">作者</th>
            <th width="300" scope="col">内容</th>
            <th scope="col" colspan="3">操作</th>
        </tr>
        <c:forEach items="${requestScope.news_list }" var="news">
        <tr>
            <td>${news.newsID }</td>
            <td><div id="overflow">${news.newsTitle }</div></td>
            <td>${news.newsAuthor }</td>
            <td><div id="overflow">${news.newsContent }</div></td>
            <td><a href="#">预览</a></td>
            <td><a href="#">修改</a></td>
            <td><a href="deleteNews?id=${news.newsID }">删除</a></td>
        </tr>
        </c:forEach>
  
    </tbody>
    </table>
</fieldset>
</form>

<a href="deleteNews?id=${news.newsID }">,这里id是后台要获取的参数名称,${news.newsID }是要获取的参数内容,
在controller中使用request.getparameter("id")取出这个id的值,即要删除的新闻的id

controller中也可以通过方法的参数直接获取id
前台到后台通过表单传递数据时:(1) 表单的name属性值和接受的参数同名。(2) 表单的name属性值和接收对象的属性同名。

3. NewsMapper

public interface NewsMapper {
    
    //根据id删除新闻
    @Delete("delete from news where newsID= #{ID}")
    void deleteNewByID(@Param("ID") Integer newsID);

}

4. NewsService

public interface NewsService {
   
    /**
     * 根据新闻id删除新闻
     * @param newsID
     */
    void deleteNews(Integer newsID);  
}

删除news的接口

5. NewsServiceImpl

@Transactional(propagation=Propagation.REQUIRED,isolation=Isolation.DEFAULT)
@Service("newsService")
public class NewsServiceImpl implements NewsService {
    
    /**
     * 自动注入持久层Mapper对象
     */
    
    @Autowired
    private NewsMapper newsMapper;


    /*******新闻接口实现************/
    
    @Override
    public void deleteNews(Integer newsID) {
        // TODO Auto-generated method stub
        newsMapper.deleteNewByID(newsID);
    }
}

实现删除news的方法

6. NewsController

@Controller
public class NewsController {
    
    /**
     * 自动注入newsService
     */
    @Autowired
    @Qualifier("newsService")
    private NewsService newsService;
    
    //根据获取的id删除新闻
    @RequestMapping(value="/deleteNews")
    public ModelAndView deleteNews(HttpServletRequest request, ModelAndView mv){
        Integer newsID = Integer.valueOf(request.getParameter("id"));
        //判断id是否为空
        if(newsID != null){
            newsService.deleteNews(newsID);
        }
        //用redirect进行重定向
        mv.setViewName("redirect:/htNews");
        return mv;
    }

}

在控制器中用request.getParameter("id")获取要删除的新闻的id

原文地址:https://www.cnblogs.com/zeroingToOne/p/8762861.html