日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

登录注册模板代码

發布時間:2024/5/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 登录注册模板代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

密碼加密類

//MD5 生成器 public class MD5Utils {public static String md5(String password){//生成一個md5加密器try {MessageDigest md = MessageDigest.getInstance("MD5");//計算MD5 的值md.update(password.getBytes());//BigInteger 將8位的字符串 轉成16位的字符串 得到的字符串形式是哈希碼值//BigInteger(參數1,參數2) 參數1 是 1為正數 0為0 -1為負數return new BigInteger(1, md.digest()).toString(16);} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return null;} }

實體類

@Data @AllArgsConstructor @NoArgsConstructor @ApiModel(value = "User對象",description = "用戶或買家信息") public class User {private Integer userId;private String username;private String password;private String nickname;private String realname;private String userImg;private String userMobile;private String userEmail;private String userSex;private Date userBirth;private Date userRegtime;private Date usermodtime;}

Dao

public interface UserMapper {//用戶注冊public int insertUser(User user);//按照用戶名查詢用戶public User queryByName(String userName); } <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.pxl.dao.UserMapper"><insert id="insertUser" parameterType="User">insert into users (username,password,user_regtime,user_modtime)values (#{username},#{password},#{userRegtime},#{userModtime})</insert><select id="queryByName" resultType="User" >select * from users where userName=#{userName}</select></mapper>

Service

public interface UserService {//用戶注冊public ResultVO userRegister(String name,String pwd);//用戶登錄public ResultVO checkLogin(String name, String pwd); } @Service public class UserServiceImpl implements UserService {@ResourceUserMapper userMapper;/*用戶注冊時,需要考慮一個問題* 當前用戶是否存在,即用戶名是否已經存在* 同一時刻可能有多個用戶正在注冊* 保證注冊時用戶名唯一* 采用事務管理*/@Transactional@Overridepublic ResultVO userRegister(String name, String pwd) {synchronized (this) {//1,根據用戶名查詢,該用戶名是否已經被注冊User user = userMapper.queryByName(name);//2,若該用戶名不存在,則進行保存操作if (user == null) {//加密String Md5Pwd = MD5Utils.md5(pwd);//保存用戶user = new User();user.setUsername(name);user.setPassword(Md5Pwd);user.setUserRegtime(new Date());user.setUsermodtime(new Date());int i = userMapper.insertUser(user);if (i == 1) {//注冊成功return new ResultVO(10001, "注冊成功", null);} else {//注冊失敗return new ResultVO(10002, "注冊失敗", null);}} else {return new ResultVO(10000, "用戶名已存在", null);}}}@Overridepublic ResultVO checkLogin(String name, String pwd) {//1,根據賬號查詢信息User user = userMapper.queryByName(name);//2,判斷if(user == null){//用戶名不存在return new ResultVO(10001,"用戶名不存在",null);}else{//3.對輸入的密碼進行加密String Md5Pwd = MD5Utils.md5(pwd);//使用加密后的密碼和user中的密碼進行比對if(user.getPassword().equals(Md5Pwd)){//驗證成功return new ResultVO(10000,"登錄成功",user);}else{//驗證失敗return new ResultVO(10002,"密碼錯誤",null);}}} }

Controller

@RestController @RequestMapping("/user") @Api(value = "提供用戶的登錄和注冊接口",tags="用戶管理") public class UserController {@ResourceUserService userService;@ApiOperation("用戶登錄接口")@ApiImplicitParams({@ApiImplicitParam(dataType = "string",name = "username",value = "用戶登錄賬號",required = true),@ApiImplicitParam(dataType = "string",name="password",value = "用戶登陸密碼",required = true)})@GetMapping("/login") //查詢是GETpublic ResultVO login(@RequestParam("username") String name,@RequestParam(value = "password") String pwd){ResultVO resultVO = userService.checkLogin(name,pwd);return resultVO;}@ApiOperation("用戶注冊接口")//如果所需要的參數是對象類型的話,就不需要在這里寫注解,直接去對象的類里面寫// @ApiImplicitParam(name = "用戶信息",required = true)//參數是對象類型的時候,有些可以不寫,但是實體類需要引入swagger依賴@ApiImplicitParams({@ApiImplicitParam(dataType = "string",name = "username",value = "用戶登錄賬號",required = true),@ApiImplicitParam(dataType = "string",name="password",value = "用戶登陸密碼",required = true)})@PostMapping("/register")//添加是POSTpublic ResultVO register(String name,String pwd){ResultVO resultVO = userService.userRegister(name,pwd);return resultVO;} }

測試

http://localhost:8080/doc.html

總結

以上是生活随笔為你收集整理的登录注册模板代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。