WEB---在删改查:

2023-11-05

数据库:

/*
SQLyog Ultimate v12.09 (64 bit)
MySQL - 5.7.27-log : Database - myshool
*********************************************************************
*/


/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`myshool` /*!40100 DEFAULT CHARACTER SET latin1 */;

USE `myshool`;

/*Table structure for table `student` */

DROP TABLE IF EXISTS `student`;

CREATE TABLE `student` (
  `id` int(32) NOT NULL AUTO_INCREMENT,
  `stuName` varchar(100) NOT NULL,
  `stuAge` int(32) NOT NULL,
  `stuSex` int(32) NOT NULL,
  `stuBirthday` date DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

/*Data for the table `student` */

insert  into `student`(`id`,`stuName`,`stuAge`,`stuSex`,`stuBirthday`) values (4,'库里',19,1,'2001-01-02'),(5,'欧文',11,2,'2003-03-03'),(6,'詹姆斯',23,1,'2003-02-23');

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

StudentsManager:

dao:

public interface StudentDao {

    //查询全部的方法
    List<Student> getAll();
    //添加的方法
    int addStudent(Student student);
    //根据id查询
    Student getStudentById(int id);
    //修改的方法
    int updateStudent(Student student);

}

impl:

public class StudentDaoImpl extends BaseDao implements StudentDao {
    @Override
    public List<Student> getAll() {
        //1.准备sql
        String sql="select * from student";
        ResultSet rs = this.executeQuery(sql, null);
        List<Student> studentList=new ArrayList<>();

        try {
            while(rs.next()){
                Student student=new Student();
                student.setId(rs.getInt("id"));
                student.setStuName(rs.getString("stuName"));
                student.setStuAge(rs.getInt("stuAge"));
                student.setStuSex(rs.getInt("stuSex"));
                student.setStuBirthday(rs.getDate("stuBirthday"));
                studentList.add(student);
            }
        }catch (Exception ex){
            ex.printStackTrace();
        }


        return studentList;
    }

    @Override
    public int addStudent(Student student) {
        String sql="INSERT INTO student(stuName,stuAge,stuSex,stuBirthday)VALUES(?,?,?,?)";
        Object [] objects={student.getStuName(),student.getStuAge(),student.getStuSex(),student.getStuBirthday()};

        return this.executeUpdate(sql,objects);
    }

    @Override
    public Student getStudentById(int id) {
        String sql="select * from student where id=?";
        Object [] objects={id};
        ResultSet rs = this.executeQuery(sql, objects);
        Student student=null;
        try {
            if(rs.next()){
                student=new Student();
                student.setId(rs.getInt("id"));
                student.setStuName(rs.getString("stuName"));
                student.setStuAge(rs.getInt("stuAge"));
                student.setStuSex(rs.getInt("stuSex"));
                student.setStuBirthday(rs.getDate("stuBirthday"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return student;
    }

    @Override
    public int updateStudent(Student student) {
        String sql="update student set stuName=?,stuAge=?,stuSex=?,stuBirthday=? where id=?";
        Object[] objects={student.getStuName(),student.getStuAge(),student.getStuSex(),student.getStuBirthday(),student.getId()};
        return this.executeUpdate(sql,objects);
    }
}

pojo:

public class Student {
    private  int id;
    private String stuName;
    private int stuAge;
    private  int stuSex;
    private Date stuBirthday;
}

Service:

public interface StudentService {

    //查询全部的方法
    List<Student> getAll();
    //添加的方法
    boolean addStudent(Student student);
    //根据id查询
    Student getStudentById(int id);
    //修改的方法
    boolean updateStudent(Student student);
}

impl:


public class StudentServiceImpl implements StudentService {
    //创建Dao层对象
    StudentDao sd=new StudentDaoImpl();
    @Override
    public List<Student> getAll() {
        return sd.getAll();
    }

    @Override
    public boolean addStudent(Student student) {
        if(sd.addStudent(student)>0){
            return true;
        }
        return false;
    }

    @Override
    public Student getStudentById(int id) {
        return sd.getStudentById(id);
    }

    @Override
    public boolean updateStudent(Student student) {
        if(sd.updateStudent(student)>0){
            return true;
        }
        return false;
    }
}

StudentServlet:

@WebServlet("/StudentServlet")
public class StudentServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置字符集
        req.setCharacterEncoding("utf-8");
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=UTF-8");
        String path=req.getParameter("path");
        StudentService ss=new StudentServiceImpl();
        HttpSession session=req.getSession();
        if(path==null ){
            //查询全部
            List<Student> studentList = ss.getAll();
            req.setAttribute("students",studentList);
            req.getRequestDispatcher("show.jsp").forward(req,resp);
        }else if(path.equals("addOrUpdate")){
            String id=req.getParameter("id");
            String stuName=req.getParameter("stuName");
            String stuSex=req.getParameter("stuSex");
            String stuAge=req.getParameter("stuAge");
            String stuBirthday=req.getParameter("stuBirthday");
            Student student=new Student();
            student.setId(Integer.valueOf(id));
            student.setStuName(stuName);
            student.setStuAge(Integer.valueOf(stuAge));
            student.setStuSex(Integer.valueOf(stuSex));
            Date birthday=null;
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
            try {
                birthday = sdf.parse(stuBirthday);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            student.setStuBirthday(birthday);
            boolean flag;
            if(id==null || id.equals(" ")|| id.equals("")){
                //添加
                flag = ss.addStudent(student);
            }else{
                //修改
                 flag = ss.updateStudent(student);
            }
            if(flag){
                resp.getWriter().print("<script>alert('成功');    window.location='StudentServlet';</script>");
            }else{
                resp.getWriter().print("<script>alert('失败');    window.location='StudentServlet';</script>");
            }

        }else if(path.equals("getUserById")){
            String id=req.getParameter("id");
            Student student = ss.getStudentById(Integer.valueOf(id));
            req.setAttribute("student",student);
            req.getRequestDispatcher("addOrUpdate.jsp").forward(req,resp);
        }

    }
}

show.jsp:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
  Created by IntelliJ IDEA.
  User: 12626
  Date: 2022/7/13
  Time: 10:29
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <script src="js/jquery-1.8.2.min.js"></script>
</head>
<body>
<h1 align="center">学员信息</h1>
<table align="center" border="1">
    <tr>
        <td colspan="6"><a href="addOrUpdate.jsp">添加学生信息</a></td>
    </tr>
    <tr>
        <td>编号</td>
        <td>姓名</td>
        <td>年龄</td>
        <td>性别</td>
        <td>出生日期</td>
        <td>操作</td>
    </tr>
    <c:forEach items="${students}" var="student">
        <tr>
            <td>${student.id}</td>
            <td>${student.stuName}</td>
            <td>${student.stuAge}</td>
            <td><c:if test="${student.stuSex==1}">男</c:if><c:if test="${student.stuSex==2}">女</c:if></td>
            <td>${student.stuBirthday}</td>
            <td><a href="StudentServlet?path=getUserById&id=${student.id}">修改</a></td>
        </tr>
    </c:forEach>

</table>
<script>
</script>

</body>
</html>

addOrUpdate.jsp:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
  Created by IntelliJ IDEA.
  User: 12626
  Date: 2022/7/13
  Time: 10:54
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>

<form action="StudentServlet?path=addOrUpdate" method="post">
    <h1 align="center">添加或修改学员信息</h1>
    <input type="text" name="id" value="${student.id}" hidden >
    <table align="center" border="1">
        <tr>
            <td>姓名</td>
            <td><input type="text" name="stuName" value="${student.stuName}"></td>
        </tr>
        <tr>
            <td>性别</td>
            <td>
                <input type="radio" value="1" name="stuSex" <c:if test="${student.stuSex==1}">checked</c:if>/>男
                <input type="radio" value="2" name="stuSex" <c:if test="${student.stuSex==2}">checked</c:if>/>女
            </td>
        </tr>
        <tr>
            <td>年龄</td>
            <td><input type="text" name="stuAge" value="${student.stuAge}"></td>
        </tr>
        <tr>
            <td>出生日期</td>
            <td><input type="text" value="${student.stuBirthday}" name="stuBirthday"></td>
        </tr>
        <tr>
            <td colspan="2" align="center"><input type="submit" value="确认"></td>
        </tr>
    </table>
</form>


</body>
</html>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WEB---在删改查: 的相关文章

随机推荐

  • vue321

    component切换 div class dashboard container div
  • [PHP面试题]跳槽面试必背-自己最近5年的整理(二)

    看完这些还怕进不了大厂 PHP面试题 跳槽面试必背 自己最近5年的整理 一 PHP面试题 跳槽面试必背 自己最近5年的整理 三 PHP经典面试题集 含答案 面试12家公司 收获9个offer 2020年PHP 面试问题 100 个常见的 P
  • 图解OAuth 2.0协议族(一):授权码 auth code

    最近学习了OAuth 2 0的协议族 获益匪浅 对认证 授权都有了新的 进一步认识 在这里做用序列图记录与总结所有的场景 以共勉 系列全文以资源拥有者授权客户端访问受保护照片访问为例 模拟了多个场景 Oauth是一个授权协议框架 包含多个协
  • NVIDIA-smi

    上图是服务器上 GeForce GTX 1080 Ti 的信息 下面一一解读参数 上面的表格中的红框中的信息与下面的四个框的信息是一一对应的 GPU GPU 编号 Name GPU 型号 Persistence M 持续模式的状态 持续模式
  • 剑指offer-10 二进制数字1的个数

    输入一个int型数字 输出它作为二进制的1的个数 如9的二进制为1001 有2个1 则输出2 法一 因为int型有4个字节 一共32位 每次将输入右移1 并和1进行 与 操作 将结果累加 则为1的个数 public class Test10
  • 二维各向同性介质弹性波数值模拟(交错网格有限差分法)

    一 一阶速度 应力弹性波方程 在二维各向同介质xoz平面内 假定体力为0 从上面方程当中 我们为了得到各点的应力和速度值 就需要得到关于对时间t和空间x z的偏导 二 时间上的2M阶差分 由Taylor公式得 三 空间2N阶近似差分 由一阶
  • 【2023】Python安装教程

    一 Python下载 1 进入Python官网 官网地址 https www python org 2 点击 Downloads 展开后点击 Windows 跳转到下载python版本页面 选择 Stable Releases 稳定版本 我
  • 尤其抖音,不如学习

    什么是我们最宝贵的资源 是钱吗 不不不 我们最宝贵的资源是时间 与其把时间耗费在刷抖音 或者其他没多少价值的事情上 不如多学习一些有用的技能 今天 小灰给大家推荐几个有用的公众号 这些公众号有些是IT相关 有些是教我们如何穿衣打扮 有些是讨
  • 超出表空间"users"的空间限额

    这是因为用户被数据库限制了在建表的表空间 执行一下下面的语句后 再执行建表语句 alter user 用户名 quota unlimited on 表空间名字
  • shell中if多重条件

    if a aa a b bb c cc a d dd then echo success fi
  • APP自动化之weditor工具

    由于最近事情颇多 许久未更新文章 大家在做APP自动化测试过程中 可能使用的是Appium官方提供的inspect进行元素定位 但此工具调试不方便 于是今天给大家分享一款更好用的APP定位元素工具 weditor weditor基于web网
  • linux查看可执行文件的编译器版本

    一部分可执行程序 可以使用这个方法快速确认 strings a program name grep i gcc 输出 GCC Debian 4 8 4 1 4 8 4
  • django/CVE-2017-12794XSS漏洞复现

    docker搭建漏洞复现环境 漏洞原理看帮助文档 Django debug page XSS漏洞 CVE 2017 12794 分析 Django发布了新版本1 11 5 修复了500页面中可能存在的一个XSS漏洞 这篇文章说明一下该漏洞的
  • 挖洞经验

    本文分享的是作者在一次众测中的SQL报错型注入漏洞发现过程 有趣之处在于 在后续漏洞利用的构造中 如果在目标服务端数据库逻辑的INSERT查询中使用逗号 Comma 将导致构造的Payload不可用 这种情况下 作者通过综合Time bas
  • 在ubuntu16.04搭建Qt4.8.6嵌入式开发环境

    环境以及软件版本 虚拟机环境 ubuntu16 04 64位 虚拟机环境中gcc的版本 gcc version 5 4 0 20160609 Qt版本 qt everywhere opensource src 4 8 6 tar gz 下载
  • mac安装Python3.7

    https www cnblogs com linxue p 10097785 html
  • 基础笔记(三):网络协议之Tcp、Http

    目录 一 网络协议 二 TCP Transmission Control Protocol 传输控制协议 TCP头格式 TCP协议中的三次握手和四次挥手 TCP报文抓取工具 三 HTTP HyperText Transfer Protoco
  • 关于android webview 的那些坑

    近日做项目的时候使用webview 遇到一些麻烦 第一条 H5页面选择图片时 点击无效 无法选择照片 第二条 当修复完第一条bug时 出现新bug 如果选择照片时 什么都不选返回 会出现无法点击的情况 第三条 如何打开PDF格式的文件 首先
  • ubuntu16.04 cuda8.0 caffe 编译时遇到 caffe fatal error: cublas_v2.h 没有那个文件或目录

    caffe 配置参考 http blog csdn net leo xu06 article details 53010900 make caffe的过程中碰过 include caffe util device alternate hpp
  • WEB---在删改查:

    数据库 SQLyog Ultimate v12 09 64 bit MySQL 5 7 27 log Database myshool 40101 SET NAMES utf8 40101 SET SQL MODE 40014 SET OL