zoukankan      html  css  js  c++  java
  • SSM 示例

    User 实体类

    package com.itheima.domain;
    
    import java.io.Serializable;
    
    public class User implements Serializable {
    
        private Integer id;       //用户id
        private String name;      //用户名称
        private String password;  //用户密码
        private String email;     //用户邮箱(用户账号)
        private String role;      //用户角色
        private String status;    //用户状态
    
        // get, set ......
    }

    UserMapper

    package com.itheima.mapper;
    import com.itheima.domain.User;
    import org.apache.ibatis.annotations.Result;
    import org.apache.ibatis.annotations.Results;
    import org.apache.ibatis.annotations.Select;
    
    public interface UserMapper{
        @Select("select * from user where user_email=#{email} AND user_password=#{password} AND user_status!='1'")
        @Results(id = "userMap",value = {
                //id字段默认为false,表示不是主键
                //column表示数据库表字段,property表示实体类属性名。
                @Result(id = true,column = "user_id",property = "id"),
                @Result(column = "user_name",property = "name"),
                @Result(column = "user_password",property = "password"),
                @Result(column = "user_email",property = "email"),
                @Result(column = "user_role",property = "role"),
                @Result(column = "user_status",property = "status")
        })
        User login(User user);
    }

    UserService 接口

    package com.itheima.service;
    import com.itheima.domain.User;
    /**
     *用户接口
     */
    public interface UserService{
        //通过User的用户账号和用户密码查询用户信息
        User login(User user);
    }

    UserService 接口实现

    package com.itheima.service.impl;
    import com.itheima.domain.User;
    import com.itheima.mapper.UserMapper;
    import com.itheima.service.UserService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    /**
     *用户接口实现类
     */
    @Service
    public class UserServiceImpl  implements UserService {
        //注入userMapper
        @Autowired
        private UserMapper userMapper;
    
        //通过User的用户账号和用户密码查询用户信息
        @Override
        public User login(User user) {
    
            return userMapper.login(user);
        }
    }

     MyBatis-Spring 提供了一个动态代理的实现——MapperFactoryBean。这个类可以让你直接注入数据映射器接口到你的 service 层 bean 中。当使用映射器时,你仅仅如调用你的 DAO 一样调用它们就可以了,但是你不需要编写任何 DAO 实现的代码,因为 MyBatis-Spring将会为你创建代理。同样,MapperFactoryBean创建的代理控制开放和关闭 session。

        @Bean
        public MapperScannerConfigurer getMapperScannerConfigurer(){
            MapperScannerConfigurer msc = new MapperScannerConfigurer();
            //等同于<property name="basePackage" value="com.itheima.dao"/>
            msc.setBasePackage("com.itheima.mapper");
            return msc;
        }

    UserController

    package com.itheima.controller;
    import com.itheima.domain.User;
    import com.itheima.service.UserService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpSession;
    /**
     * 用户登录和注销Controller
     */
    @Controller
    public class UserController {
        @RequestMapping("/toMainPage")
        public String  toMainPage(){
            return "main";
        }
    
        //注入userService
        @Autowired
        private UserService userService;
    
        /*    用户登录    */
        @RequestMapping("/login")
        public String login(User user, HttpServletRequest request){
            try {
                User u=userService.login(user);
                /*
                用户账号和密码是否查询出用户信息
                    是:将用户信息存入Session,并跳转到后台首页
                    否:Request域中添加提示信息,并转发到登录页面
                 */
                if(u!=null){
                    request.getSession().setAttribute("USER_SESSION",u);
                     return "redirect:/admin/main.jsp";
                }
                request.setAttribute("msg","用户名或密码错误");
                return  "forward:/admin/login.jsp";
            }catch(Exception e){
                e.printStackTrace();
                request.setAttribute("msg","系统错误");
                return  "forward:/admin/login.jsp";
            }
        }
        
    }
  • 相关阅读:
    为啥负利率国债有人抢着买?因为时代变了
    微增长时代
    U盘插入电脑后图标是灰色的,打开提示“请将磁盘插入驱动器”
    计算shell 脚本的执行时间
    win10系统应用商店打开后无法联网 代码: 0x80131500 的解决办法
    Jetbrains家的软件都可用的激活码-pycharm
    postman中x-www-form-urlencoded与form-data的区别
    升级Gogs版本
    上海对售价超1499元的茅台酒即没收并另处罚款
    提高收入的根本途径
  • 原文地址:https://www.cnblogs.com/emanlee/p/15757855.html
Copyright © 2011-2022 走看看