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

springmvc+mybatis 根据数据的id删除数据的更多相关文章

  1. MySQL行(记录)的详细操作一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理

    MySQL行(记录)的详细操作 阅读目录 一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理 一 介绍 MySQL数据操作: ...

  2. SQL中CRUD C——create 添加数据 R——read 读取数据 U——update 修改数据 D——delete 删除数据

    在SQL server中对数据库的操作: 删除表:drop table 表名修改表:alter table 表名 添加列add 列名 列类型alter table 表名 drop column 列名 ...

  3. mybatis 根据多个id查询数据 foreach标签

    //根据设备多个id获取设备信息 public List<Devices> getDevicesAll(@Param("devicesIds") String[] de ...

  4. MySQL基本SQL语句之数据插入、删除数据和更新数据

    一.INSERT插入数据: 方法一:批量插入 基本语法: INSERT INTO tb_name (col1, col2, ...) VALUES (val1, val2, ...)[,(val1, ...

  5. PHP批量写入数据、批量删除数据

    批量插入可以参考$sql = "insert into data (id,ip,data)  values ";for($i=0;$i<100;$i++){$sqls[]=& ...

  6. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   ...

  7. Mysql 删除数据表的三种方式详解

    用法: 1.当你不再需要该表时, 用 drop; 2.当你仍要保留该表,但要删除所有记录时, 用 truncate; 3.当你要删除部分记录或者有可能会后悔的话, 用 delete. 删除强度:dro ...

  8. solr删除数据的4种方便快捷的方式

    1.在solr客户端,访问你的索引库(我认为最方便的方法) 1)documents type 选择 XML  2)documents 输入下面语句 <delete><query> ...

  9. 【JDBC】学习路径6-SQL插入、修改、删除数据

    第一章:插入使用.executeUpdate(); 返回的是受到影响的数据条数. public static boolean insert(String username,String passwor ...

随机推荐

  1. 用CSS中的Alpha实现渐变

    效果一:<div  id="Layer1"  style="position:absolute;  left:161px;  top:160px;  width:2 ...

  2. Open-Drain&Push-Pull

    在配置GPIO(General Purpose Input Output)管脚的时候,常会见到两种模式:开漏(open-drain,漏极开路)和推挽(push-pull).对此两种模式,有何区别和联系 ...

  3. Docker创建数据卷

    当程序在容器中运行时,需要与其他容器中的程序或者容器外部的程序进行文件读写操作时,就需要进行数据的交换:容器内部的文件系统,是一个临时层,当容器停止运行并被删除时,这个临时层就会被一同丢弃:为了达到从 ...

  4. TPO-21 C1 Find a building for orientation

    TPO-21 C1 Find a building for orientation 第 1 段 1.Listen to a conversation between a student and a p ...

  5. c++三大概念要分清--重载,隐藏(重定义),覆盖(重写)

    重载,隐藏(重定义),覆盖(重写)—这几个名词看着好像很像,不过其实一样都不一样!! 综述: 说明:覆盖中的访问修饰符可以不同是指可以不用显示地用virtual:当访问修饰符改为const或者stat ...

  6. 一个可以自由存取的onedriver

    https://cittedu-my.sharepoint.com/personal/jostin_5gd_me/Documents/jostin

  7. 使用C#采集Shibor数据到Excel

    对Shibor的变化一直以来比较关注,正好最近学习了对html数据处理的一些知识,就打算拿来采集一些我需要的Shibor数据. 使用到的库 HttpAgilityPack 一个非常不错的html解析工 ...

  8. Spring入门学习笔记(1)

    目录 Spring好处 依赖注入 面向面编程(AOP) Spring Framework Core Container Web Miscellaneous 编写第一个程序 IoC容器 Spring B ...

  9. 关于如何准备CKA考试

    最近(2019年4月)通过了CKA考试,在此分享一下考试心得. CKA全称Certified Kubernetes Administrator,是一门在线考试,全程需要向考官分享摄像头和屏幕,考试费用 ...

  10. Ruby知识点一:方法

    1.实例方法 接收者是对象本身的方法 2.类方法 接收者是类本身的方法,调用类方法时,可以使用::或者.两个符号. 类名.方法名 类名::方法名 3.函数式方法 没有接收者(接收者省略而已)的方法 4 ...