【Web】ssm注册修改查询实现

前言

暑期项目实习第七课,用ssm框架在项目中实现注册修改查询。

Code

bean为model层,用于存放类。

掉用自建接口
UserMapper
bean
jsp页面
controller
service
dao
appCon.xml
db配置文件

db配置文件以及appCon相关配置详见上节课[【Web】Maven搭建前后端连接实例]
项目目录

mapper中写Sql语句

add 用于注册功能
findUserByIdupdate用于修改功能
searchByName 用于查询功能

<?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="findUserByName" parameterType="String" resultType="User">
        select * from user where name =#{name}
    </select>

    <delete id="deleteById" parameterType="Integer">
        delete from user where id=#{id}
    </delete>

    <select id="findAll" resultType="User">
        select * from user
    </select>

    <insert id="add" parameterType="User">
        insert into user (name,password) values (#{name},#{password})
    </insert>

    <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>

dao层UserDao

package com.zr0701.dao;

import com.zr0701.bean.User;
import org.springframework.http.converter.json.GsonBuilderUtils;

import java.util.List;

public interface UserDao {  //该层写接口 所以interface
    User findUserByName (String name);

    List<User> findAll();

    int deleteById(Integer id);

    int add(User user);

    int update(User user);

    User findUserById(Integer id);

    List<User> searchByName(String name);
}

service层

先写UserServiceImpl中的接口。
再写UserService类调用接口。

UserServiceImpl

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 org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

@Service //告诉扫描器这边实现service的功能,让它能够扫描到
public class UserServiceImpl implements UserService {

    @Autowired
    private UserDao userDao;


    @Override
    public boolean login(String name, String password) {
        System.out.println("开始查询:"+name);
        User user = userDao.findUserByName(name);
        System.out.println("查询结束:"+name);
        if(user != null && user.getPassword().equals(password)){

            return true;
        }
        return false;
    }

    @Override
    public boolean delete(Integer id) {
        int del = userDao.deleteById(id);
        if(del>0){
            return true;
        }
        return false;
    }

    @Override
    public List<User> findAll() {
        return userDao.findAll();
    }

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

    @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;
        }
        return false;
    }

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

UserService

package com.zr0701.service;

import com.zr0701.bean.User;

import java.util.List;

public interface UserService {  //该层实现业务上的功能
    boolean login(String name,String password);

    boolean delete(Integer id);

    List<User> findAll();

    boolean add(User user);

    User findById(Integer id);

    boolean update(User user);

    List<User> searchByName(String name);
}

controller层UserController

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.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;

@Controller
@RequestMapping("/user")
public class UserController {  //servlet
    @Autowired
    private UserService userService;

    @RequestMapping("/login.do")
    public ModelAndView login(User user){
        System.out.println("UserController run");
        boolean flag = userService.login(user.getName(),user.getPassword());
        System.out.println("UserController end");
        ModelAndView modelAndView=new ModelAndView();
        if(flag){
            modelAndView.setViewName("../ok");
        }else {
            modelAndView.setViewName("../failure");
        }
        return modelAndView;
    }

    @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("modelAndView中的内容为:"+modelAndView);
        return modelAndView;
    }

    @RequestMapping("/delete.do")
    public String delete(int id){
        boolean del = userService.delete(id);
        if(del){
            return "redirect:findAll.do";
        }
        return "../failure";
    }

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

    @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";
    }
}

jsp页面

add 注册页面。
modify 修改页面。

add页面

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

modify页面

<%@ 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>

最终效果

访问地址:localhost:8080/
首页

注册功能

点击注册,进入add页面,并输入注册信息。
输入注册信息
提交后,跳转到findAll查询页面,并可以见到信息已经成添加。
跳转

修改查询功能

单击查询页面的修改按钮,可以发现页面跳转并在地址处出现 id=125 即我们修改的id号,且两个text框内已出现原始账号信息。
修改页面
修改后点击提交,跳转至查询页面,可以发现信息也被成功修改。
回跳查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值