关于在前端页面上显示当前用户的每次登录时间并且会每次登录都会更新功能实现。
工具 : eclipse ssm框架 mysql
首先在mysql中时间字段加一个logintime 数据类型选择datetime
然后在ssm框架中的Javabean中添加login字段选择Date数据类型
语句如下:private Date logintime; 并在这个bean中写好getter和setter方法
然后在mapper.java中写一条更新语句
如下:public int updatetime(int userid);//更新登录时间参数为用户id
同样在mapper.xml文件中写一个sql语句
如下:<update id="updatetime" parameterType="int">
update users set logintime=now() where userid=#{userid}
</update>
service中再写一遍方法里面调用mapper方法
如下:public int updatetime(int userid) {
return this.userMapper.updatetime(userid);
}
当然这一块有人写的是sevice实现类但基本是一样的
下面就说控制层在登录成功后语句执行更新时间语句:userService.updatetime(loginresult.getUserid());//登录的用户id
但仅仅这样显示出来的时间是UST时间而不是我们常见的时间还需要在页面本次用的jsp页面同时用的是jstl标签所以再添加一个jstl中的fmt
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
下面时间显示部分如下:
<td><fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${item.logintime}"/></td>
在fmt上面是有foreach遍历所有数据的所以用的jstl
本文参考
https://www.runoob.com/jsp/jstl-format-formatdate-tag.html
tostring方法暂时没有尝试后续会陆续尝试
新手小白,有问题请指导