在idea用spring框架和mybatis数据库实现登录操作
时间: 2023-05-31 18:01:55 浏览: 140
1. 创建Spring项目
在IntelliJ IDEA中创建一个新的Spring项目,选择Maven项目,然后选择Spring Web和Spring JDBC作为依赖项。
2. 配置数据库连接
在pom.xml文件中添加MyBatis和MySQL驱动程序的依赖项:
```
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
</dependency>
```
在src/main/resources目录下创建一个名为application.properties的文件,配置数据库连接信息:
```
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
```
3. 创建数据库表
在MySQL中创建一个名为user的表,用于存储用户信息:
```
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
`password` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
```
4. 创建数据访问对象
创建一个名为UserMapper的Java接口,用于定义数据访问对象的方法:
```
public interface UserMapper {
User findByUsername(String username);
}
```
创建一个名为UserMapper.xml的MyBatis映射文件,用于将SQL语句映射到接口的方法:
```
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
<select id="findByUsername" parameterType="String" resultType="com.example.entity.User">
SELECT * FROM user WHERE username = #{username}
</select>
</mapper>
```
5. 创建实体类
创建一个名为User的Java类,用于表示用户对象:
```
public class User {
private int id;
private String username;
private String password;
// 构造方法、getter和setter省略
}
```
6. 创建服务类
创建一个名为UserService的Java类,用于处理用户登录操作:
```
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public boolean login(String username, String password) {
User user = userMapper.findByUsername(username);
if (user != null && user.getPassword().equals(password)) {
return true;
}
return false;
}
}
```
7. 创建控制器类
创建一个名为UserController的Java类,用于处理用户登录请求:
```
@Controller
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/login")
@ResponseBody
public String login(String username, String password) {
if (userService.login(username, password)) {
return "登录成功";
} else {
return "登录失败";
}
}
}
```
8. 创建视图文件
在src/main/resources/templates目录下创建一个名为index.html的Thymeleaf视图文件,用于显示登录表单:
```
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<form method="post" action="/login">
<label>用户名:<input type="text" name="username" /></label><br />
<label>密码:<input type="password" name="password" /></label><br />
<input type="submit" value="登录" />
</form>
</body>
</html>
```
9. 运行项目
运行Spring Boot应用程序,访问http://localhost:8080/即可看到登录表单。输入正确的用户名和密码后,将显示“登录成功”消息。
阅读全文