java web application项目功能拓展实现对用户的增删改查

项目使用的是SSM框架,项目的功能是基于上一篇博客进行拓展的。项目中导入了一些前端页面文件,我将项目代码上传到了github
主要是在控制层,数据访问层和业务层添加一些功能,还有修改mapper文件下面的映射文件UserMapper.xml。
controller UserController

package com.zr.controller;

import com.zr.bean.User;
import com.zr.service.IUserService;
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
// 处理user路径下的请求
@RequestMapping("user")
public class UserController {

    @Autowired
    private IUserService userService;
// 处理登录请求
    @RequestMapping("login.do")
    public ModelAndView login(User user){
        String username = user.getUsername();
        String password = user.getPassword();
        boolean flag = userService.login(username, password);
        ModelAndView modelAndView = new ModelAndView();
        if(flag==true){
            modelAndView.setViewName("main");
        }else {
            modelAndView.setViewName("../failer");
        }
        return modelAndView;

    }
//  查找所有用户请求
    @RequestMapping("findAll.do")
    public ModelAndView findAll(){
        List<User> users = userService.findAll();
        ModelAndView mv = new ModelAndView();
        mv.setViewName("user-list");
        mv.addObject("users",users);
        return mv;
    }
// 删除用户请求
    @RequestMapping("deleteByID.do")
    public String delete(int id){
        userService.deleteByID(id);
        return "redirect:findAll.do";
    }
// 添加用户请求
    @RequestMapping("add.do")
    public String add(User user){
        userService.add(user);
        return "redirect:findAll.do";
    }
// 确定更新用户对象
    @RequestMapping("toUpdate.do")
    public ModelAndView toUpdate(int id){
        User user = userService.selectUserByID(id);
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("user",user);
        modelAndView.setViewName("user-update");
        return modelAndView;
    }
// 进行更新请求
    @RequestMapping("update.do")
    public String update(User user){
        userService.update(user);
        return "redirect:findAll.do";

    }
}

到业务接口 IUserService,添加对应的方法

package com.zr.service;

import com.zr.bean.User;

import java.util.List;

public interface IUserService {
    boolean login(String username, String password);
    List<User> findAll();
    void deleteByID(int id);
    void add(User user);
    User selectUserByID(int id);
    void update(User user);
}

接口类UserServiceImpl具体实现,将要实现的功能交给dao层(数据访问层)处理。

package com.zr.service.impl;

import com.zr.bean.User;
import com.zr.dao.IUserDao;
import com.zr.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
    private IUserDao userDao;

    @Override
    public boolean login(String username, String password) {
        User user = userDao.findUserByUserName(username);
        if(user!=null&&user.getPassword().equals(password)){
            return true;
        }
        return false;

    }

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

    @Override
    public void deleteByID(int id) {
        userDao.deleteByID(id);
    }

    @Override
    public void add(User user) {
        userDao.add(user);
    }

    @Override
    public User selectUserByID(int id) {
       return userDao.selectUserByID(id);
    }

    @Override
    public void update(User user) {
        userDao.update(user);
    }
}

dao层接口IUserDao

package com.zr.dao;

import com.zr.bean.User;

import java.util.List;

public interface IUserDao {
    User findUserByUserName(String username);
    List<User> findAll();

    void deleteByID(int id);

    void add(User user);

    User selectUserByID(int id);

    void update(User user);
}

利用Mybatis框架,根据接口定义创建接口的动态代理对象的原理。所以还需要修改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.zr.dao.IUserDao">
    <select id="findUserByUserName" parameterType="String" resultType="com.zr.bean.User">
         select * from tb_user where username=#{username}
    </select>
    <select id="findAll" resultType="user">
        select * from tb_user
    </select>
    <delete id="deleteByID" parameterType="int">
        delete from tb_user where id = #{id}
    </delete>

    <insert id="add" parameterType="user">
        insert into tb_user(username,password) value (#{username},#{password})
    </insert>
    <select id="selectUserByID" parameterType="int" resultType="user">
        select * from tb_user where id = #{id}
    </select>
    <update id="update" parameterType="user">
        update tb_user set username = #{username},password=#{password} where id = #{id}
    </update>
</mapper>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值