发表于: 2020-06-15 20:44:39
1 1774
今天完成的事情:
搭建好了基本框架,基本完成了添加新用户的功能,添加了获取转换时间戳的工具类
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>注册</title>
</head>
<body>
<h2>注册</h2>
<form:form action="${pageContext.request.contextPath}/user/add" method="post" modelAttribute="user">
<label>用户名</label><form:input path="username"/> <form:errors path="username"/><br>
<label>密码</label><form:password path="pwd"/><form:errors path="pwd"/><br>
<input type="submit" value="提交">
</form:form>
</body>
</html>
public class User {
private long id;
@Length(min=5,max=12,message="用户名为5到12位的字符串")
private String username;
@Length(min=6,max=12,message="密码必须为6到12位的字符串")
private String pwd;
private long roleId;
private long createAt;
private long createBy;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public long getRoleId() {
return roleId;
}
public void setRoleId(long roleId) {
this.roleId = roleId;
}
public long getCreateAt() {
return createAt;
}
public void setCreateAt(long createAt) {
this.createAt = createAt;
}
public long getCreateBy() {
return createBy;
}
public void setCreateBy(long createBy) {
this.createBy = createBy;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", pwd='" + pwd + '\'' +
", roleId=" + roleId +
", createAt=" + createAt +
", createBy=" + createBy +
'}';
}
package com.artstudio.dao.mapper;
import com.artstudio.dao.pojo.User;
import java.util.List;
/**
* Created with IntelliJ IDEA.
*
* @author: WangPeng
* @date: 2020/06/13/11:52 上午
* @description:
*/
public interface UserMapper {
/**查询所有用户*/
public List<User> findAll();
/**增加用户*/
public void addUser(User user);
/**通过用户名核对是否重名*/
public boolean check(String username);
/**删除用户*/
public void deleteUser(int id);
/**更新用户*/
public void updateUser(User user);
/**通过用户名查询用户*/
public User findById(String username);
/**根据用户名和角色模糊搜索*/
public List<User> searchUser(String username,Long roleId);
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.artstudio.dao.mapper.UserMapper">
<!-- 配置resultMap属性,进行表字段与实体类属性映射
主键字段
property: 实体类属性名.
column: 库中表的列名
javaType: 数据类型.
-->
<resultMap id="userMap" type="com.artstudio.dao.mapper.UserMapper">
<result column="role_id" property="roleId"/>
<result column="create_at" property="createAt"/>
<result column="create_by" property="createBy"/>
</resultMap>
<!-- 注册 -->
<insert id="addUser" parameterType="com.artstudio.dao.pojo.User" useGeneratedKeys="true" keyProperty="id"
keyColumn="id">
insert into user(username, pwd, role_id, create_at, create_by)
value (#{username}, #{pwd}, #{roleId}, #{createAt}, #{createBy})
</insert>
<!-- 核对用户 -->
<select id="check" parameterType="String" resultType="boolean">
select count(*)
from user
where username = #{username}
</select>
public interface UserService {
/**
* 添加新用户
*/
void addUserService(User user) throws Exception;
/**
* 检查用户名是否重复
*/
boolean checkService(String username);
@Service("userService")
public class UserServiceImpl implements UserService {
@Autowired(required=false)
UserMapper userMapper;
@Override
public void addUserService(User user) throws Exception {
userMapper.addUser(user);
}
/**
* 检查用户名是否重复
*
* @param username
*/
@Override
public boolean checkService(String username) {
return userMapper.check(username);
}
}
/**
* Created with IntelliJ IDEA.
*
* @author: WangPeng
* @date: 2020/06/13/8:24 下午
* @description:
*/
@Controller
@RequestMapping("/user")
public class RegisterController {
@Autowired(required = false)
private UserService userService;
@RequestMapping(value = "/regView", method = RequestMethod.GET)
public ModelAndView addUserView(Model model) {
new LocalValidatorFactoryBean();
model.addAttribute("user", new User());
return new ModelAndView("reg", "", model);
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addUser(@Valid User user, BindingResult bindingResult) throws Exception {
if (bindingResult.hasErrors()) {
FieldError fe = bindingResult.getFieldError();
return "reg";
}
long roleId = 1L;
long createAt = DateUtil.timestamp();
long createBy = 1L;
user.setRoleId(roleId);
user.setCreateAt(createAt);
user.setCreateBy(createBy);
boolean check = userService.checkService(user.getUsername());
if (check) {
return "reg";
} else {
userService.addUserService(user);
}
return "reg";
// userService.addUserService(user);
// return "reg";
}
}
/**
* Created with IntelliJ IDEA.
*
* @author: WangPeng
* @date: 2020/06/15/1:29 下午
* @description:
*/
public class DateUtil {
/**
* 当前时间-时间戳
*
* @return 根路径
*/
public static Long timestamp() {
long time = System.currentTimeMillis();
return time / 1000;
}
/**
* 获取当前时间-时间(yyyy-MM-dd HH:mm:ss)
*
* @return
*/
public static String timesNow() {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(date);
}
/**
* 格式化时间,默认“yyyy-MM-dd hh:mm:ss”
*
* @param timestamp
* @return
*/
public static String parseTimestamp(long timestamp) {
return parseTimestamp(timestamp, "yyyy-MM-dd hh:mm:ss");
}
/**
* 当前格式化时间
*
* @return
*/
public static String formatNow(String aFmt) {
Date date = new Date();
String fmt = aFmt;
if (fmt == null) {
fmt = "yyyy-MM-dd hh:mm:ss";
}
SimpleDateFormat dateFmt = new SimpleDateFormat(fmt);
String dateStr = dateFmt.format(date);
return dateStr;
}
/**
* 格式化时间
*
* @param timestamp
* @param fmt 时间格式化字符串
* @return
*/
public static String parseTimestamp(long timestamp, String fmt) {
Date date = new Date(timestamp * 1000);
SimpleDateFormat dateFmt = new SimpleDateFormat(fmt);
String dateStr = dateFmt.format(date);
return dateStr;
}
/**
* 时间转换为时间戳
*
* @param time
* @return
*/
public static long dateToTimestamp(String time) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date = simpleDateFormat.parse(time);
long ts = date.getTime() / 1000;
return ts;
} catch (ParseException e) {
return 0;
}
}
/**
* 时间戳(10位)转换为时间
* @param time
* @return
*/
public static String timestampToDate(Long time) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sd = sdf.format(new Date(Long.parseLong(String.valueOf(time*1000))));
return sd;
}
}
遇到的问题:
实现了添加新用户时判断用户名是否重复的功能,重复就不执行添加操作,但是不知道怎样在前台提示出信息。明天再试一试。
评论