javaweb案例 选中删除和查询功能
选中删除前端jsp代码 </table> <input type="submit"value="全选" οnclick="checkAll()"> <input type="submit"value="全不选" οnclick="checkNoAll()"> <input type="submit"value="选中删除" οnclick="XDelete()"> </body> <script type="text/javascript"> /*在js中获取多选框*/ var option =document .getElementsByName("option"); //全选 function checkAll(){ /*循环多选框*/ for (let i = 0; i < option.length; i++) { /*checked默认选中*/ option[i].checked=true; } } function checkNoAll(){ for (let i = 0; i < option.length; i++) { /*checked选中*/ option[i].checked=false; } } //选中删除 function XDelete() { //定义一个id变量初始化值为空,用来存储选中的id var id=""; //循环多选框 for (let i = 0; i < option.length; i++) { //判断是否选中 if(option[i].checked==true){ //给选中的赋值给id 变量,并用逗号分隔 id=id+option[i].value+"," } } //路径 location .href ="XDeleteServlet?id="+id; } </script> </html>
根据名称查询的前端jsp代码
<form action="SelectByNameServlet" method="get"> 根据姓名查询<input type="text" name="name" value="${b.name}"> <input type="submit" value="查询"> </form>
选中删除功能的后端代码
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; 在controller层 @WebServlet("/XDeleteServlet") public class XDeleteServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //创建对象 Goods1Service goods1Service = new Goods1Service(); //获取页面发送过来的id String ids= req .getParameter("id") ; //查看是否可以获取到选中的数据 //System.out.println(ids); goods1Service.xDelete(ids); //删除成功之后返回首页 req.getRequestDispatcher("SelectAllServlet").forward(req,resp); } }
在service层
public List<Goods1> selectByName(Goods1 goods1) { // 获取SqlSession SqlSession sqlSession = factory.openSession(); // 获取BrandMapper Goods1Mapper mapper = sqlSession.getMapper(Goods1Mapper.class); // 调用mapper接口中根据name查找的方法 List<Goods1> list = mapper.selectByName(goods1); // 提交事务 sqlSession.commit(); // 释放资源 sqlSession.close(); return list; }
// 根据id删除多条数据的方法 public void xDelete(String ids){ // 获取SqlSession SqlSession sqlSession = factory.openSession(); // 获取BrandMapper Goods1Mapper mapper = sqlSession.getMapper(Goods1Mapper.class); // 调用方法 // 查看是否可以获取到选中的数据 // System.out.println(ids); // 字符串分割 String[] split = ids.split(","); // 给分割后的id进行循环,因为你删除的可能不是数据,可能是多条,所以需要循环 for (String str : split) { // 给String ids转换为int类型 int id = Integer.parseInt(str); // 调用mapper接口中根据id删除多条数据的方法 mapper.xDelete(id); } // 提交事务 sqlSession.commit(); // 释放资源 sqlSession.close(); }
在mapper层 @Delete("delete from goods1 where id = #{id};") void xDelete(int id); @Select("select * from goods1 where gname like concat(%,#{gname},%)") List<Goods1> selectByName(Goods1 goods1);
下一篇:
Python爬取新闻联播(文字版)