发表于: 2020-06-15 20:44:39

1 1772


今天完成的事情:

搭建好了基本框架,基本完成了添加新用户的功能,添加了获取转换时间戳的工具类

<%@ 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;
   }

}

遇到的问题:

实现了添加新用户时判断用户名是否重复的功能,重复就不执行添加操作,但是不知道怎样在前台提示出信息。明天再试一试。


返回列表 返回列表
评论

    分享到