spring boot(五) 用户注册功能

  用户注册功能(包含图片上传功能)

1、编写controller控制器

package org.chenhui.study.springbootstudy.controller;

import java.util.Date;

import org.chenhui.study.springbootstudy.entity.User;
import org.chenhui.study.springbootstudy.entity.result.Register;
import org.chenhui.study.springbootstudy.service.RegisterServer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

/**
 * 用户注册
 * 
 * @author  chenhui
 * @time    2018年12月13日
 * @e-mail  personalmessage@foxmail.com
 * @company nikey
 */
@RestController
public class RegisterController {
	@Autowired
	private RegisterServer registerServer;
	
	@PostMapping("/user/register")
	public Register register(@RequestParam("file") MultipartFile file,
			@RequestParam("name") String name,
			@RequestParam("pwd") String pwd,
			@RequestParam("email") String email,
			@RequestParam("birthday") Date birthday,
			@RequestParam("gender") char gender) {
		User user = new User();
		user.setName(name);
		user.setPwd(pwd);
		user.setEmial(email);
		user.setBirthday(birthday);
		user.setGender(gender);
		boolean b_register = registerServer.register(user,file);
		if(b_register){
			return new Register(0, "注册成功");
		}else{
			return new Register(1, "注册失败");
		}
	}
}

2、编写业务代码

package org.chenhui.study.springbootstudy.service;

import java.io.File;
import java.io.IOException;

import org.chenhui.study.springbootstudy.dao.user.UserMapper;
import org.chenhui.study.springbootstudy.entity.User;
import org.chenhui.study.springbootstudy.util.FileNameUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

/**
 * 用户注册业务层
 * 
 * @author  chenhui
 * @time    2018年12月13日
 * @e-mail  personalmessage@foxmail.com
 * @company nikey
 */
@Service
public class RegisterServer {
	private static final Logger logger = LoggerFactory.getLogger(RegisterServer.class);
	
	@Autowired
	private UserMapper userMapper;
	
	@Value("${file.upload.path}")
	private String uploadPath;
	
	@Value("${file.access.url}")
	private String accessUrl;
	
	/**
	 * 用户注册实现
	 * 
	 * @auth   chenhui
	 * @param user
	 * @param file
	 * @return
	 */
	public boolean register(User user, MultipartFile file) {
		boolean b_register = true;
		String fileName = FileNameUtils.getFileName(file.getOriginalFilename());
		user.setHeadImgPath(accessUrl + fileName);
		File dest = new File(uploadPath + fileName);
		if(!dest.exists()){
			try {
				dest.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
				return b_register = false;
			}
		}
		try {
			file.transferTo(dest);
		} catch (IllegalStateException | IOException e) {
			e.printStackTrace();
			return b_register = false;
		}
		try{
			userMapper.add(user);
		}catch(Exception e){
			logger.error("注册失败", e);
			return b_register = false;
		}
		return b_register;
	}
	
}

3、编写数据访问层

package org.chenhui.study.springbootstudy.dao.user;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.chenhui.study.springbootstudy.entity.User;

/**
 * 用户数据访问接口
 * 
 * @author  chenhui
 * @time    2018年12月13日
 * @e-mail  personalmessage@foxmail.com
 * @company nikey
 */
@Mapper
public interface UserMapper {
	
	@Select("SELECT * FROM `user` WHERE `NAME` = #{username} AND PWD = #{password}")
	User login(@Param("username")String username, @Param("password")String password);

	@Insert("INSERT INTO `user` (NAME,PWD,EMIAL,HEADIMGPATH,BIRTHDAY,GENDER) VALUES "
			+ "(#{user.name},#{user.pwd},#{user.emial},#{user.headImgPath},#{user.birthday},#{user.gender})")
	void add(@Param("user")User user);
	
}

4、配置文件

server:
  port: 52117
  servlet:
    contextPath: /lsyq
    session:
      timeout: 18000
      
spring:
  datasource:
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/study_data?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
    username: devolpment
    password: devolpment
  redis:
    host: 127.0.0.1 # 默认 localhost
    port: 6379 # 默认6379
    password: 123456
    database: 0 # 默认为0 可以不用配置
   
file:
  upload:
    path: D:\images\
  access:
    url:  http://192.168.6.202:52017/RecordFile/
        
    

源码:https://github.com/RomaDream/spring-boot-lsyq.git

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值