SpringBoot web開發 (3) 使用 mysql-jpa 登錄驗證

3、使用 mysql-jpa

  1. 構造 數據庫實體類型
  • 添加maven依賴
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
</dependency>

(1) 創建 用戶表,新建 entity/User.java (注意,屬性小寫開頭)

package com.learn.first.entitys;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import com.learn.first.commons.StringTools;

@Entity
public class User{
	@Id
    @GeneratedValue
    private Long id;
    @Column(nullable = false, unique = true, length = 32)
    private String userName;
    @Column(nullable = false,length = 32)
    private String passWord;
    @Column(nullable = false, unique = true,length = 32)
    private String phoneNum;

	//...get--set
}

(3) 添加 數據庫配置 src/main/resources/application.properties ,(mysql要自己先到數據庫新建數據庫 test)

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=asdf@#123
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
  1. 新建 Login2Controller.java
// 添加一天數據測試
@RequestMapping("")
public String index(){
	//TODO TEST
	if(userService.getUserByName("admin") == null){
		User user = new User();
		user.setUserName("admin");
		user.setPassWord("admin");
		user.setPhoneNum("110900");
		userService.Add(user);
	}
	return "login/index";
}

//登錄驗證
@RequestMapping("/in")
public String in(@RequestParam String lname,@RequestParam String pwd){
	User user = userService.getUserByName(lname);
	if(user != null && user.checkPassWorl(pwd)){
		session.setAttribute("name", "admin");
		return "redirect:/";
	}
	return "redirect:/login/";
}
  1. 啓動 main 函數,瀏覽器輸入 http://127.0.0.1:8080/login2,輸入用戶名 admin,密碼 admin 登錄,觀察數據庫test中變化
  2. demo 地址
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章