SSM框架下实现简单增删查改的具体细节(代码)

2023-11-17

UserInfo


public class UserInfo {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "UserInfo{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

UserController

package com.zhongruan.controller;

import com.zhongruan.bean.UserInfo;
import com.zhongruan.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;

@Controller
@RequestMapping("user")
public class UserController {

    @Autowired
    private IUserService userService;

    @RequestMapping("/findAll.do")
    public ModelAndView findAll(){
        List<UserInfo> userInfos= userService.findALL();
        ModelAndView mv =new ModelAndView();
        mv.addObject("ui",userInfos);
        mv.setViewName("allUser");
        return mv;
    }

@RequestMapping("/toAddUser.do")
    public ModelAndView toAddUser(){
    //List<UserInfo> userInfos= userService.findALL();
    ModelAndView mv =new ModelAndView();
    mv.addObject("ui");
    mv.setViewName("addUser");
    return mv;
}

@RequestMapping("/save.do")
public String save(UserInfo userInfo)
{
    userService.save(userInfo);
    return "redirect:/user/findAll.do";

}

@RequestMapping("/delete.do")
    public String delete(int id)
    {
        userService.delete(id);
        return "redirect:/user/findAll.do";
    }


    @RequestMapping("toUpdate.do")
    public String toUpdate(Model model, int id){
        model.addAttribute("userInfo",userService.queryById(id));
        return "updateUser";
    }

    @RequestMapping("update.do")
    public String update(UserInfo userInfo){
        userService.updateUser(userInfo);
        return "redirect:/user/findAll.do";
    }

}

IUserDao

import com.zhongruan.bean.UserInfo;

import java.util.List;

public interface IUserDao {
    List<UserInfo> findALL();
    boolean save(UserInfo userInfo);

    boolean delete(int id);
    boolean updateUser(UserInfo userInfo);

    UserInfo queryById(int id);



}

UserServiceImpl

import com.zhongruan.bean.UserInfo;
import com.zhongruan.dao.IUserDao;
import com.zhongruan.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserServiceImpl implements IUserService {

    @Autowired
    IUserDao userDao;

    @Override
    public List<UserInfo> findALL() {
        return userDao.findALL();
    }


    public boolean save(UserInfo userInfo) {
        return userDao.save(userInfo);
    }

    @Override
    public boolean delete(int id){
        return  userDao.delete(id);
    }

    @Override
    public boolean updateUser(UserInfo userInfo) {
        return userDao.updateUser(userInfo);
    }

    @Override
    public UserInfo queryById(int id) {
        return userDao.queryById(id);
    }


}

IUserService

package com.zhongruan.service;

import com.zhongruan.bean.UserInfo;

        import java.util.List;

public interface IUserService {
    List<UserInfo> findALL();
    boolean save(UserInfo userInfo);

    boolean delete(int id);
    boolean updateUser(UserInfo userInfo);

    UserInfo queryById(int id);
}

UserMapper

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.zhongruan.dao.IUserDao" >
    <select id="findALL" resultType="com.zhongruan.bean.UserInfo">
        select *from userinfo
    </select>

    <insert id="save" parameterType="com.zhongruan.bean.UserInfo">
        INSERT INTO userinfo(id,username,password) VALUE (#{id},#{username}, #{password})
    </insert>

    <delete id="delete" parameterType="UserInfo">
        DELETE FROM userinfo WHERE id=#{id}
    </delete>

    <update id="updateUser" parameterType="UserInfo">
        UPDATE userinfo SET username=#{username},password=#{password} where id=#{id}
    </update>

    <select id="queryById" resultType="com.zhongruan.bean.UserInfo" parameterType="int">
        select * from userinfo where id=#{id}
    </select>

</mapper>

Index

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" isELIgnored="false"%>
<html>
<body>
<h2>Hello World!</h2>
<a href="${pageContext.request.contextPath}/user/findAll.do">查询所有用户</a>
</body>
</html>

allUser

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
<head>
    <title>user列表</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 引入 Bootstrap -->
    <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
    <div class="row clearfix">
        <div class="col-md-12 column">
            <div class="page-header">
                <h1>
                    基于SSM框架的管理系统:简单实现增、删、改、查。
                </h1>
            </div>
        </div>
    </div>

    <div class="row clearfix">
        <div class="col-md-12 column">
            <div class="page-header">
                <h1>
                    <small>用户列表 —— 显示所有用户</small>
                </h1>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col-md-4 column">
            <a class="btn btn-primary" href="${pageContext.request.contextPath}/user/toAddUser.do">新增</a>
        </div>
    </div>
    <div class="row clearfix">
        <div class="col-md-12 column">
            <table class="table table-hover table-striped">
                <thead>
                <tr>
                    <th>id</th>
                    <th>用户名</th>
                    <th>密码</th>
                    <th>操作</th>
                </tr>
                </thead>
                <tbody>
                <c:forEach items="${ui}" var="userInfo">
                    <tr>
                        <td>${userInfo.id}</td>
                        <td>${userInfo.username}</td>
                        <td>${userInfo.password}</td>
                        <td>
                            <a href="${pageContext.request.contextPath}/user/toUpdate.do?id=${userInfo.id}">更改</a> |
                            <a href="${pageContext.request.contextPath}/user/delete.do?id=${userInfo.id}">删除</a>
                        </td>
                    </tr>
                </c:forEach>
                </tbody>
            </table>
        </div>
    </div>
</div>

addUser

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
<head>
    <title>新增用户</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 引入 Bootstrap -->
    <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
    <div class="row clearfix">
        <div class="col-md-12 column">
            <div class="page-header">
                <h1>
                    基于SSM框架的管理系统:简单实现增、删、改、查。
                </h1>
            </div>
        </div>
    </div>

    <div class="row clearfix">
        <div class="col-md-12 column">
            <div class="page-header">
                <h1>
                    <small>新增用户</small>
                </h1>
            </div>
        </div>
    </div>
    <form action="${pageContext.request.contextPath}/user/save.do"
              method="post">
        用&nbsp;&nbsp;户&nbsp;&nbsp;id:<input type="text" name="id"><br><br><br>
        用户姓名:<input type="text" name="username"><br><br><br>
        用户密码:<input type="text" name="password"><br><br><br>
        <input type="submit" value="添加" >
    </form>

</div>

updateUser

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>修改论文</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 引入 Bootstrap -->
    <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
    <div class="row clearfix">
        <div class="col-md-12 column">
            <div class="page-header">
                <h1>
                    基于SSM框架的管理系统:简单实现增、删、改、查。
                </h1>
            </div>
        </div>
    </div>

    <div class="row clearfix">
        <div class="col-md-12 column">
            <div class="page-header">
                <h1>
                    <small>修改用户</small>
                </h1>
            </div>
        </div>
    </div>

    <form action="${pageContext.request.contextPath}/user/update.do"
          method="post">
        <input type="hidden" name="id" value="${userInfo.id}"/>
        用户姓名:<input type="text" name="username" value="${userInfo.username}"/>
        用户密码:<input type="text" name="password" value="${userInfo.password}"/>
        <input type="submit" value="提交" />
    </form>
</div>

结果

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

SSM框架下实现简单增删查改的具体细节(代码) 的相关文章

随机推荐

  • 回顾:网络编程(待排版,知识点看情况补充

    一 CS模型 整个流程 服务器启动后 首先创建一个 或多个 监听socket 并调用bind函数将其绑定到服务器感兴趣的端口上 然后调用listen函数等待客户连接 服务器稳定运行之后 客户端就可以调用connect函数向服务器发起连接 由
  • Java String类型数据转为Byte数据

    方式一 我们可以直接通过Byte decode 方式直接转化内 String str 1 Byte decode Byte decode str System out println decode 方式二 首先我们可以先将String转为i
  • 区块链优秀gitbook资料

    docker 从入门到实践 https yeasy gitbooks io docker practice content image list html go 语言圣经 https docs hacknode org gopl zh ch
  • 双向链表(数据结构)(C语言)

    目录 概念 带头双向循环链表的实现 前情提示 双向链表的结构体定义 双向链表的初始化 关于无头单向非循环链表无需初始化函数 顺序表 带头双向循环链表需要的思考 双向链表在pos位置之前插入x 双向链表的打印 双链表删除pos位置的结点 双向
  • 学习总结4.1 Linux文件权限修改

    Linux系统中的每个文件都有访问许可权限 文件的访问权限分为只读 只写和可执行三种 只读权限表示只允许读其内容 而禁止对其做任何的更改操作 只写权限表示允许修改文件的内容 可执行权限表示允许将该文件作为一个程序执行 每一文件的访问权限都有
  • c/c++笔试面试题_6

    几个简单的c 面试题 2006 10 14 14 50 今天偶然看见这几个面试题 很有感触 想起一年前自己的求职经历 1 引言 本文的写作目的并不在于提供C C 程序员求职面试指导 而旨在从技术上分析面试题的内涵 文中的大多数面试题来自各大
  • 谷歌浏览器Google Chrome离线版(持续更新中)

    谷歌浏览器官方正式版采用自主研发Chromium内核 它是全球受欢迎的谷歌浏览器电脑版 追求速度 隐私安全的网络浏览器 而Google Chrome浏览器离线版更可以在无网络的情况下安装 一 在线版和离线版区别 在线版 即下载官方下载的一个
  • 服务链路追踪(Spring Cloud Sleuth)

    sleuth 英 slu 美 slu n 足迹 警犬 侦探vi 做侦探 微服务架构是一个分布式架构 它按业务划分服务单元 一个分布式系统往往有很多个服务单元 由于服务单元数量众多 业务的复杂性 如果出现了错误和异常 很难去定位 主要体现在
  • java中使用spark如何将column多列合为一列

    接下来介绍几种使用spark将DataFrame中一行的多列合并到一列中 并且该列以不同的类型展示保存 1 建立dataset 自己需要连接的mongo库 private static String datasource 自己需要连接的mo
  • 第十课.图片风格迁移和GAN

    目录 Neural Style Transfer Neural Style Transfer原理 准备工作 定义模型并加载预训练的模型参数 训练target以及结果可视化 生成对抗网络GAN GAN原理 GAN生成Mnist 准备工作 模型
  • 博客系统文章的数据库存储方式

    在通常的博客系统中 我们发表文章的时候 在数据库中存储的一般不仅仅是文章的文字 还包括文章的样式 而且很多时候都是所见即所得的效果 这就要求我们以html 文字这样存进数据库中 通过查找资料 可以用专门的文字编辑器可以实现 使用方法如下 F
  • 系统架构设计师之网络安全-各个层次的网络安全保障

    系统架构设计师之网络安全 各个层次的网络安全保障
  • Map集合知识点整理

    目录 一 Map集合概述 1 特点 2 Map集合的基本功能 二 实现类HashMap集合 1 概述 2 常用方法总结 3 HashMap的底层实现 4 LinkedHashMap 5 TreeMap 三 Map集合的遍历方式 四 案例演示
  • 文献管理软件--zotero基本使用

    文章目录 一 下载与安装 1 下载插件 以火狐浏览器为例 2 注册账户 3 下载桌面版 二 文献导入 1 新建文件 2 导入文献 3 本地导入 4 支持批量下载 三 文献管理 1 添加标签 2 添加子目录 3 添加笔记 四 添加插件 五 数
  • MyBatis的逆向工程

    MyBatis的逆向工程 正向工程 先创建Java实体类 由框架负责根据实体类生成数据库表 Hibernate是支持正向工程的 逆向工程 先创建数据库表 由框架负责根据数据库表 反向生成如下资源 Java实体类 Mapper接口 Mappe
  • 迭代法求解线性方程组(C++实现)

    本系列是数值分析相关算法的文章 这次用迭代法求解线性方程组 不同于上次用高斯消元法之类的求解 迭代法对于稀疏矩阵方程组的运算 会大大提高 而如果用高斯相关的算法求解 会浪费大量资源计算无用的东西 所以有必要研究此算法 本文章主要使用了3个算
  • android之service

    Service的启动有两种方式 context startService 和 context bindService 通过startService 启动的服务处于 启动的 状态 一旦启动 service就在后台运行 即使启动它的应用组件已经
  • Matlab2023a最新详解

    MATLAB 2023版的深度学习工具箱 提供了完整的工具链 使您能够在一个集成的环境中进行深度学习的建模 训练和部署 与Python相比 MATLAB的语法简洁 易于上手 无需繁琐的配置和安装 让您能够更快地实现深度学习的任务 MATLA
  • 【CTF/MISC】图片隐写题(binwalk/foremost/010editer配合使用)

    图片隐写 题目 解题思路 binwalk工具查看是否有隐藏文件 foremost工具分离文件 010editer查看二进制数据 寻找解压密码 解题心得 题目连接 题目 题目是一张图片 寻找题目中隐藏的flag 解题思路 一般来说我碰到图片隐
  • SSM框架下实现简单增删查改的具体细节(代码)

    UserInfo public class UserInfo private int id private String username private String password public int getId return id