【SpringBoot仿牛客网】03、开发登陆、退出功能


拆解功能:
1.访问登陆页面:点击上方“登陆”键跳转
2.登陆:验证用户名、密码,
成功就发放登陆凭证给浏览器
失败就返回登陆页面
在这里插入图片描述
图:login-ticket表

1 访问登陆页面

1.1 Conroller

    //访问登陆页面
    @RequestMapping(path = "/login",method = RequestMethod.GET)
    public String getLogin(){
   
        return "/site/login";
    }

1.2 login.html

首部复用index的首部,头尾的静态资源改成动态链接

2 登陆

数据访问层:提供业务层所需的相应查询方法
业务层:根据用户传入的用户名查找用户u
将用户u的密码与传入的密码经MD5加密后比较,若一致,更新login-ticket,并返回ticket
若不一致,返回错误信息(所以需要针对login-ticket的dao)
视图层:调用业务层,返回相应页面

2.1 数据访问层

2.1.1 login-ticket实体

类名和表名相对应
1.表里有什么字段,实体类里就增加几个属性与之对应
2.get/set方法
3.toString方法

2.1.2 dao层的Mapper接口

1.注解@Mapper
2.声明增删改查方法

2.1.3 Mapper对应的xml

1.头

<?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.nowcoder.community.dao.LoginMapper">

</mapper>

2.增删改查方法对应的sql语句

<insert id="insertLoginTicket" parameterType="LoginTicket" keyProperty="id">
        insert into login_ticket (user_id,ticket,status,expired)
        values (#{userId},#{ticket},#{status},#{expired})
    </insert>

    <select id="selectByTicket"  resultType="LoginTicket">
        select
            id,user_id,ticket,status,expired
        from login_ticket
        where ticket = #{ticket}
    </select>

    <update id="updateStatus">
        update login_ticket
        set status = #{status}
        where ticket = #{ticket}
<!--        <if test="ticket!=null">  and 1=1 </if>-->
    </update>

2.1.4 测试

@Autowired
    private LoginTicketMapper loginTicketMapper;
    @Test
    public void testLoginTicketMapper(){
   
        //测试插入
//        LoginTicket loginTicket = new LoginTicket();
//        loginTicket.setUserId(1);
//        loginTicket.setTicket("hello");
//        loginTicket.setStatus(0);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值