心累。。。感觉自己要毕不了业了
动动你的小脑袋想想,删除用户是谁的权利捏,是不是管理员,所以我们要将登录页面设置选项表示用户身份 1、乘客,2、管理员,但是这样有点麻烦,要再建立管理员表什么什么的,这里直接定义管理员账号:abmin,密码:123,然后跳转到管理员操作界面上。
写好前端我们就发现了问题,要删除数据库里面的数据,我们要先将数据显示出来,所以现在我们要解决这个问题,怎么在Javaweb中把数据库中的数据用表格显示?
经过一天的学习终于把它做出来了!!!
我们先建立用户集合在usermapper.java中定义查询用户所有信息的方法
List<user> selectAll();
然后在usermapper.xml写查询,(可以用注解的方式直接写在usermapper.java中)
<select id="selectAll" resultType="com.example.loginpj.entity.user">
select * from users;
</select>
在业务逻辑中,service层,因为都是对用户的操作,我都写在userservice中
// 查询用户所有信息
public List<user> selectAll(){
// 调用usermapper。selsectAll方法
// 获取SqlSession
SqlSession session= factory.openSession();
// 获取usermapper
usermapper usermapper= session.getMapper(com.example.loginpj.mapper.usermapper.class);
//调用方法,查询所有
List<user> users=usermapper.selectAll();
session.close();
return users;
}
在controller层建立deluserservlet.java
package com.example.loginpj.controller;
import com.example.loginpj.entity.user;
import com.example.loginpj.service.userservice;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.util.List;
@WebServlet("/delUser")
public class delUserServlet extends HttpServlet {
private userservice userservice = new userservice();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//调用userservice完成查询所有
List<user> users = userservice.selectAll();
// 存入reqest域中
request.setAttribute("users",users);
//转发到abmin。jsp
request.getRequestDispatcher("delUser.jsp").forward(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
我们的后端就写好了,现在我们进行测试
package com.example.loginpj.test;
import com.example.loginpj.service.userservice;
import com.example.loginpj.util.GetSqlSession;
import org.apache.ibatis.session.SqlSession;
import com.example.loginpj.entity.user;
import com.example.loginpj.mapper.usermapper;
import java.util.List;
public class test {
public static void main(String[] args) {
//获取sqlsession对象
SqlSession session= GetSqlSession.createSqlSession();
//得到对应的mapper
usermapper usermapper =session.getMapper(com.example.loginpj.mapper.usermapper.class);
//调用对象,返回用户对象
// Integer addUser1 =usermapper.addUser("zhao","123");
// System.out.println(addUser1);
// session.commit();
user user = usermapper.queryUserByName("zhangfei");
System.out.println(user);
// Integer addUser =usermapper.addUser("zhang","123");
// System.out.println(addUser);
// Integer addUser1 =usermapper.addUser("qtds","123");
// System.out.println(addUser1);
// session.commit();
userservice userservice = new userservice();
List<user> users = userservice.selectAll();
System.out.println(users);
}
}
可以看见数据库中的数据已经打印出来
我们开始写前端显示数据的jsp
因为后期管理员还有其他的操作,我们这里设置abmin.jsp页面表示管理员操作台,点击删除用户时,跳转到后台将数据输出,然后重定向到deluser,jsp页面进行操作,于是我们deluser.jsp页面用表格来显示每一个行的数据,怎么把它一行一行的显示出来,这里我们用到
要先导入jstl和standard的jar,还要配置依赖(这里好麻烦啊,我还不懂)还有<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
总之页面是这样:
<%--
Created by IntelliJ IDEA.
User: 向阳
Date: 2022/11/13
Time: 10:38
To change this template use File | Settings | File Templates.
--%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>删除用户</title>
</head>
<body>
<%--删除用户账号--%>
<div id="delUser1">
<table style="border: solid red" id="delUserTable">
<tr>
<td>ID</td>
<td>姓名</td>
<td>操作</td>
</tr>
<tr>
<td>${user.userid}</td>
<td>${user.username}</td>
<td>${user.userpwd}</td>
<td><a href="#">删除</a></td>
</tr>
<c:forEach items="${users}" var="user" >
<tr>
<td>${user.userid}</td>
<td>${user.username}</td>
<td>${user.userpwd}</td>
<td><a href="#">删除</a></td>
</tr>
</c:forEach>
</table>
</body>
</html>
结果i:
这样我们就把数据显示出来了,下一步我们来进行用户删除的操作