mybatisplus+tomcat+Springboot:实现登录

springweb和其他的先提前配置好,在maven项目中springweb创建看web项目搭建

项目结构:

 

分层思想(解耦:高内聚低耦合)
controller层
   1.接收请求
   2.(调用service层,返回结果)响应结果
service层
     业务逻辑判断
mapper
    1.接口类
    2.mapper.xml mybatis与数据库的相关操作
entity (po、model)
     JavaBean实体
util
     工具类(通用的方法/类)
test
      测试类/方法
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
controller层(接收请求、响应结果)
      1.接收客户端的请求(接收参数:姓名、密码)2.调用service层的方法,返回消息模型对象3.判断消息模型的状态码
      如果状态码是失败
      将消息模型对象设置到request作用域中,请求转发跳转到login.jsp如果状态码是成功
      将消息模型中的用户信息设置到session作用域中,重定向跳转到index.jspl
service层(业务逻辑)
      1.参数的非空判断
      如果参数为空
      将状态码、提示信息、回显数据设置到消息模型对象中,返回消息模型对象
      2.调用dao层的查询方法,通过用户名查询用户对象
      3.判断用户对象是否为空
      如果为空,将状态码、提示信息、回显数据设置到消息模型对象中,返回消息模型对象
      4.判断数据库中查询到的用户密码与前台传递过来的密码作比较
      如果不相等,将状态码、提示信息、回显数据设置到消息模型对象中,返回消息模型对象
      5.登录成功,成功状态、提示信息、用户对象设置消息模型对象,并return
mapper层(Dao层)
      定义对应的接口

application.properties

# 配置端口号
server.port=8080
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/shequbianmin?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456

#jsp加载路径     根据自己jsp存放地址设置
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp

server.servlet.jsp.registered=true

# 配置mapper扫描路径
mybatis-plus.mapper-locations= classpath*:/mapper/**/*.xml

#mybatis日志 控制台显示sql语句
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
#返回json的全局时间格式
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
MSG为统一返回类
public class MSG {
    @ApiModelProperty(value = "是否成功")
    private Boolean success;
    @ApiModelProperty(value = "返回码")
    private Integer code;
    @ApiModelProperty(value = "返回消息")
    private String  message;
    @ApiModelProperty(value = "返回数据")
    private Map<String,Object> data=new HashMap<String,Object>();
    // 构造私有 为了防止别人在别的类中创建该对象
    private MSG(){}
    // 执行成功返回的数据
    public static MSG success(){
        MSG r = new MSG(); // 创建自身对象,进行返回
        r.setCode(ResultCode.SUCCESS);//ResultCode.SUCCESS=20000
        r.setSuccess(true);
        r.setMessage("成功");
        return r;
    }

    // 执行失败返回的数据
    public static MSG error(){
        MSG r = new MSG();
        r.setCode(ResultCode.ERROR);//ResultCode.ERROR=20001
        r.setSuccess(false);
        r.setMessage("失败");
        return r;
    }

    // 单独设置返回的状态值
    public  MSG success(Boolean success){
        this.setSuccess(success);
        return this;
    }
    // 单独设置返回的提示信息
    public MSG message(String message){
        this.setMessage(message);
        return this;
    }
    // 单独设置返回的状态码
    public MSG code(Integer code){
        this.setCode(code);
        return this;
    }
    // 封装数据 key:键 value:值
    public MSG data(String key, Object value){
        // 存储在map集合中
        this.data.put(key, value);
        return this;
    }
    public MSG data(Map<String, Object> map){
        this.setData(map);
        return this;
    }

 

Controller层

 

 

 

service层

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值