【JAVA】ssm框架搭建修改、定向查询实现

前言

Java项目实习第七次课后作业:第六次课后续,实现修改、定向查询功能。
此博客是前面课的后续,其余内容请看一下链接:
第五次课
第六次课

Java包

controller下的UserController.java

package com.zr0701.controller;

import com.zr0701.bean.User;
import com.zr0701.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
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 UserService userService;

    @RequestMapping("/findAll.do")
    public ModelAndView findAll(@RequestParam(value = "name",defaultValue = "")String name){
        ModelAndView modelAndView = new ModelAndView();
        List<User> userList = userService.searchByName(name);
        System.out.println("userList中的内容为:" + userList);
        modelAndView.addObject("userList",userList);
        modelAndView.setViewName("../main");
        System.out.println("modeAndView中的内容为:" + modelAndView);
        return modelAndView;
    }
    
    @RequestMapping("/findById.do")
    public String findById(int id, Model model){
        User user = userService.findById(id);
        model.addAttribute("user",user);
        return "../modify";
    }

    @RequestMapping("/update.do")
    public String update(User user){
        boolean upd = userService.update(user);
        if(upd){
            return "redirect:findAll.do";
        }
        return "../failure";
    }
}

dao下的UserDao.java

package com.zr0701.dao;

import com.zr0701.bean.User;

import java.util.List;

public interface UserDao {
    int update(User user);

    User findUserById(Integer id);

    List<User> searchByName(String name);
}

service

UserService.java

package com.zr0701.service;

import com.zr0701.bean.User;

import java.util.List;

public interface UserService {
    User findById(Integer id);

    boolean update(User user);

    List<User> searchByName(String name);
}

Impl下的UserServiceImpl.java

package com.zr0701.service.Impl;

import com.zr0701.bean.User;
import com.zr0701.dao.UserDao;
import com.zr0701.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserDao userDao;

    @Override
    public User findById(Integer id) {
        return userDao.findUserById(id);
    }

    @Override
    public boolean update(User user) {
        int upd = userDao.update(user);
        if(upd>0){
            return true;
        }else {
            return false;
        }
    }

    @Override
    public List<User> searchByName(String name){
        return userDao.searchByName(name);
    }
}

resources包

mapper下的UserMapper.xml

<?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.zr0701.dao.UserDao">
    <select id="findUserById" parameterType="Integer" resultType="User">
        select * from user where id =#{id}
    </select>

    <update id="update" parameterType="User">
        update user set name=#{name},password=#{password} where id=#{id}
    </update>

    <select id="searchByName" parameterType="String" resultType="User">
        select * from user where name like concat('%',#{name},'%');
    </select>
</mapper>

webapp包

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>$Title$</title>
</head>
<body>
    <h1>登录页面</h1>
    <form action="/user/login.do" method="post">
    name:<input name="name" type="text">
    password:<input name="password" type="password">
    <input type="submit" value="login">
    </form>
    <a href="/add.jsp">添加</a>
    <a href="/user/findAll.do?name=">查看数据</a>
</body>
</html>

failure.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>失败</title>
</head>
<body>
    <h1>失败</h1>
</body>
</html>

main.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>列表</title>
</head>
<body>
<div>
    <form>
        <input id="name" type="search" name="name" value="${name}">
        <button onclick="form.submit()">搜索</button>
    </form>
    <table>
        <thead>
        <tr>
            <th>ID</th>
            <th>用户名</th>
            <th>密码</th>
            <th>操作</th>
        </tr>
        </thead>

        <tbody>
        <c:forEach items="${userList}" var="user">
            <tr>
                <td>${user.id}</td>
                <td>${user.name}</td>
                <td>${user.password}</td>
                <td>
                    <a href="${pageContext.request.contextPath}/user/delete.do?id=${user.id}">删除</a>
                    <a href="${pageContext.request.contextPath}/user/findById.do?id=${user.id}">修改</a>
                </td>
            </tr>
        </c:forEach>
        </tbody>
    </table>
</div>
</body>
</html>

modify.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>修改</title>
</head>
<body>
<div>
    <form action="/user/update.do">
        <input name="id" value="${user.id}" type="hidden">
        <div>
            <label for="name">用户名:</label>
            <input name="name" type="text" id="name" value="${user.name}">
        </div>
        <div>
            <label for="password">密码:</label>
            <input name="password" type="text" id="password" value="${user.password}">
        </div>
        <div>
            <input type="submit" value="提交">
        </div>
        <a href="javascript:window.history.go(-1)">返回</a>
    </form>
</div>
</body>
</html>

效果图

在这里插入图片描述
输入54,点击搜索,出现数据
在这里插入图片描述
点击修改
在这里插入图片描述
修改后第二条数据密码变为82
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值