使用Mysql创建一个db_1的数据库,在这个数据库中创建teacher表,表数据有id、姓名、密码。然后使用java代码创建一个springboot项目,使用thymeleaf来实现对数据库中老师的登录登出功能
时间: 2023-05-18 13:04:29 浏览: 115
好的,以下是回答:
首先,我们可以使用以下代码在 MySQL 中创建一个名为 db_1 的数据库,并在其中创建一个名为 teacher 的表:
CREATE DATABASE db_1;
USE db_1;
CREATE TABLE teacher (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
password VARCHAR(50)
);
然后,我们可以使用 Spring Boot 和 Thymeleaf 来实现对数据库中老师的登录和登出功能。具体步骤如下:
1. 在 pom.xml 文件中添加以下依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
```
2. 在 application.properties 文件中添加以下配置:
```
spring.datasource.url=jdbc:mysql://localhost:3306/db_1
spring.datasource.username=root
spring.datasource.password=123456
spring.jpa.hibernate.ddl-auto=update
```
3. 创建一个 Teacher 实体类,代码如下:
```
@Entity
@Table(name = "teacher")
public class Teacher {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private String password;
// 省略 getter 和 setter 方法
}
```
4. 创建一个 TeacherRepository 接口,继承 JpaRepository 接口,代码如下:
```
public interface TeacherRepository extends JpaRepository<Teacher, Integer> {
Teacher findByNameAndPassword(String name, String password);
}
```
5. 创建一个 LoginController 类,代码如下:
```
@Controller
public class LoginController {
@Autowired
private TeacherRepository teacherRepository;
@GetMapping("/login")
public String login() {
return "login";
}
@PostMapping("/login")
public String login(String name, String password, HttpSession session) {
Teacher teacher = teacherRepository.findByNameAndPassword(name, password);
if (teacher != null) {
session.setAttribute("teacher", teacher);
return "redirect:/index";
} else {
return "login";
}
}
@GetMapping("/logout")
public String logout(HttpSession session) {
session.removeAttribute("teacher");
return "redirect:/login";
}
}
```
6. 创建一个 index.html 文件,代码如下:
```
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Index</title>
</head>
<body>
<h1>Welcome, <span th:text="${teacher.name}"></span>!</h1>
<a href="/logout">Logout</a>
</body>
</html>
```
7. 创建一个 login.html 文件,代码如下:
```
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
<form method="post" action="/login">
<div>
<label for="name">Name:</label>
<input type="text" id="name" name="name">
</div>
<div>
<label for="password">Password:</label>
<input type="password" id="password" name="password">
</div>
<div>
<button type="submit">Login</button>
</div>
</form>
</body>
</html>
```
8. 运行项目,访问 http://localhost:8080/login 即可看到登录页面。输入正确的用户名和密码后,会跳转到 http://localhost:8080/index 页面,显示欢迎信息和退出登录链接。点击退出登录链接后,会跳转回登录页面。
希望这个回答能够帮助到您!
阅读全文