IDEA+Maven 结合SSM架构,实现用户的增删改查以及模糊查询

IDEA+Maven 结合SSM架构,实现用户的增删改查以及模糊查询

      • 开发环境
      • 实现功能的前提
      • 查询用户
      • 添加用户
      • 删除用户
      • 修改用户信息
      • 基于用户名实现模糊查询

本文小编将介绍如何在SSM架构中实现用户的增删改查,以及基于用户的模糊查询。

开发环境

  • Intellij 2018
  • MySQL5.5.58
  • Tomcat7.0
  • Spring+SpringMVC+Maven

实现功能的前提

  • 首先要把SSM架构搭建起来,才能开始下面的步骤,可以参考我上一篇博客IDEA+Maven SSM架构搭建

查询用户

  1. 在Dao层编写查询全部用户的接口
 List findAllUser();
  1. 在Service层中编写接口
List findAllUser();
  1. 实现Service中的接口,直接使用userDao对象的前提是要添加自动注入注解
    @Override
    public List findAllUser() {
        return userDao.findAllUser();
    }

自动注入对象@Autowire,这样就可以不需要每次都要new一个新的对象。

    // 自动注入,就不需要new一个UserDao对象
    @Autowired
    private UserDao userDao;
  1. UserMapper.xml配置文件中,添加查询所有用户的SQL语句
    
    
  1. 在Controller层中实现地址映射
    //自动注入
    @Autowired
    private UserService userService;
    // 查询所有方法
    @RequestMapping("findAllUser.do")
    public ModelAndView findAllUser(){
        // 1. 调用Service 去查询得到数据
        List userList = userService.findAllUser();
        // 2. 实例化ModeAndView对象,将得到的数据添加到里面
        ModelAndView mv = new ModelAndView();
        mv.addObject("user", userList);
        // user-list.jsp
        mv.setViewName("user-list");
        return mv;
    }
  1. index.jsp中实现查询所有用户
<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>


<%----%>
查询所有


添加用户

添加用户的过程与查询类似

  1. 同样在Dao层编写添加用户的接口
    // 新增用户
    void addUser(User user);
  1. 在Service层中编写添加用户接口
   // 增加
    void addUser(User user);
  1. 实现Service中的接口
    @Override
    public void addUser(User user) {
        userDao.addUser(user);
    }
  1. UserMapper.xml编写插入用户的SQL语句
    
    
        insert into tb_user(id, username, password) values(#{id}, #{username}, #{password})
    
  1. 在Controller层中编写地址映射
    // 增加  
    @RequestMapping("/addUser")
    public String addUser(User user){
        // 1. 调用Service方法,得到结果
        userService.addUser(user);

        // 2. 重定向到findAllUser
        return "redirect:findAllUser.do";
    }
  1. User-add.jsp中实现页面跳转
用户信息
id
用户名称
密码

删除用户

  1. Dao添加接口方法
    // 删除
    void DeleteUserById(int id);
  1. Service层编写接口方法
    // 删除
    void DeleteUserById(int id);
  1. 实现这个接口方法
    @Override
    public void DeleteUserById(int id) {
        userDao.DeleteUserById(id);
    }
  1. UserMapper中编写SQL语句
    
    
        delete from tb_user where id = #{id}
    
  1. UserController中实现地址映射,并跳转到查询所有页面
    // 删除
    @RequestMapping("/DeleteUserById")
    public String DeleteUserById(int id){
        userService.DeleteUserById(id);
        return "redirect:findAllUser.do";
    }

修改用户信息

修改用户信息要分成两步操作:查询所要修改的用户;修改用户信息

  1. Dao层添加两个接口方法
    // 修改前的查询
    User findUpdUserById(int id);

    // 修改
    void updUserById(User user);
  1. 同理,在Service层中也添加这个两个接口方法
    // 修改前的查询
    User findUpdUserById(int id);

    // 修改
    void updUserById(User user);
  1. Serviceimpl中实现这两个接口
    @Override
    public User findUpdUserById(int id) {
        return userDao.findUpdUserById(id);
    }

    @Override
    public void updUserById(User user) {
        userDao.updUserById(user);
    }
  1. UserMapper.xml编写SQL语句
    
    

    
    
        update tb_user set username = #{username}, password = #{password} where id = #{id}
    
  1. UserController中实现地址映射
    // 修改前的查询操作
    @RequestMapping("/findUpdUserById")
    public ModelAndView findUpdUserById(int id){
        // 1. 调用service方法,得到结果
        User user = userService.findUpdUserById(id);

        // System.out.println(user);
        // 2. 实例化一个ModelAndView
        ModelAndView mv = new ModelAndView();
        mv.addObject("user", user);
        mv.setViewName("user-update");
        return mv;
    }

    // 修改
    @RequestMapping("/updUserById")
    public String updUserById(User user){
        userService.updUserById(user);

        return "redirect:findAllUser.do";
    }
  1. User-list.jsp中,实现更新按钮地址跳转

								    
										
											
											${user.id}
											${user.username}
											${user.password}
											
												更新
												删除
												添加角色
											
										
									
								

同时也要修改user-update,jsp文件中的action,将user.id传到userController层中

用户信息
id
用户名称
密码

基于用户名实现模糊查询

  1. UserDao中添加接口方法,注意模糊查询方法的返回值是一个用户List类型
    // 模糊查询
    List FuzzyQueryUser(String username);
  1. Uservice中添加接口方法
   // 模糊查询
    List FuzzyQueryUser(String username);
  1. UserServiceImpl实现UserService中的接口

这里有个小技巧就是,将光标放在红色提示波浪线区域内,按快捷键Alt+Enter,就会弹出一个提示框,点击Implement Method就可以实现方法的重写。

    @Override
    public List FuzzyQueryUser(String username) {
        return userDao.FuzzyQueryUser(username);
    }

  1. 模糊查询的SQL语句,其中username是user-list.jsp文件中传过来的参数
    
    

获取用户输入的用户名,并将username传给UserController层

  1. UserController层实现地址映射
    @RequestMapping("/FuzzyQueryUser")
    public ModelAndView FuzzyQueryUser(String username){
        List userList_FuzzyQueryUser = userService.FuzzyQueryUser(username);

        ModelAndView mv = new ModelAndView();
        mv.addObject("user", userList_FuzzyQueryUser);
        mv.setViewName("user-list");
        return mv;
    }

你可能感兴趣的:(系统开发)