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 地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值