前面實現了對用戶名,電話,郵箱的驗證后需要把信息存儲到數據庫中...
這里涉及到兩張表--sys_user(用戶表),sys_user_role(用戶角色關聯表)
從控制器寫起--UserController
1 /** 2 * 用戶新增功能實現 3 * @param sysUser 4 * @param roleId 5 * @return 6 */ 7 @PostMapping("/add") 8 @ResponseBody 9 public Results<SysUser> save(SysUser sysUser,Integer roleId) { 10 List<SysUser> results = userService.getUser(sysUser.getUserName(),sysUser.getTelephone(),sysUser.getEmail()); 11 if (results != null && results.size()>0){ 12 for (SysUser user : results){ 13 //判斷用戶名是否已存在 14 if (user.getUserName().equals(sysUser.getUserName())){ 15 return Results.failure(ResponseCode.USERNAME_REPEAT.getCode(), ResponseCode.USERNAME_REPEAT.getMessage()); 16 } 17 //判斷手機號是否已存在 18 if (user.getTelephone().equals(sysUser.getTelephone())) { 19 return Results.failure(ResponseCode.PHONE_REPEAT.getCode(), ResponseCode.PHONE_REPEAT.getMessage()); 20 } 21 //判斷郵箱是否已存在 22 if (user.getEmail().equals(sysUser.getEmail())) { 23 return Results.failure(ResponseCode.EMAIL_REPEAT.getCode(), ResponseCode.EMAIL_REPEAT.getMessage()); 24 } 25 } 26 } 27 sysUser.setStatus(1); 28 //MD5加密 29 sysUser.setPassWord(Md5Cipher.encrypt(sysUser.getPassWord())); 30 return userService.save(sysUser,roleId); 31 }
sysUser--頁面接收的user信息,roleId--所選擇的角色的id,注意Status(狀態在數據庫中不能為空,1 代表啟用,可以手動設置),密碼使用MD5加密

1 package com.beilin.util; 2 3 4 5 import java.security.MessageDigest; 6 import java.security.NoSuchAlgorithmException; 7 8 public class Md5Cipher { 9 10 static String salt = "Jd8785d1246asdf511234eetw2112das3365dferer1da87er523"; 11 12 public Md5Cipher() { 13 } 14 15 public static String encrypt(String string) { 16 String encryptedString = ""; 17 try { 18 byte[] strByte = string.getBytes(); 19 MessageDigest algorithm = MessageDigest.getInstance("MD5"); 20 algorithm.reset(); 21 algorithm.update(strByte); 22 byte[] md5Byte = algorithm.digest(); 23 24 StringBuffer sb = new StringBuffer(); 25 String hex = ""; 26 for (int i = 0; i < md5Byte.length; i++) { 27 hex = Integer.toHexString(0Xff & md5Byte[i]); 28 if (hex.length() == 1) { 29 sb.append('0'); 30 } 31 sb.append(hex); 32 } 33 encryptedString = sb.toString(); 34 } catch (NoSuchAlgorithmException nsae) { 35 nsae.printStackTrace(); 36 } 37 return encryptedString; 38 } 39 40 public static String encryptWithSalt(String string){ 41 return Md5Cipher.encrypt(string + salt); 42 } 43 44 public static void main(String[] argv) { 45 String str = "123456"; 46 System.out.println(Md5Cipher.encryptWithSalt(str)); 47 // BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder(); 48 // System.out.println(bCryptPasswordEncoder.encode(str)); 49 } 50 }
Service層
UserService
UserServiceImpl
Dao層
UserDao
SQL映射文件--UserMapper.xml
接着再保存sys_user_role(SysUserRole實體類,UserRoleDao...創建過程省略)
UserRoleDao
UserRoleMapper.xml
debug測試------
可以使用MD5把數據庫密碼全部加密