用springboot框架整合redis,mybatis模块,用三层架构实现,在Thymeleaf目录下实现在页面的添加用户的id,name,birthday,sex,clazzName
时间: 2024-05-02 18:16:50 浏览: 10
好的,下面我给你提供一个简单的实现过程。
1. 首先,在 pom.xml 文件中添加 redis 和 mybatis 的依赖:
```xml
<!-- redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
```
2. 在 application.properties 文件中配置 redis 和 mybatis:
```properties
# redis
spring.redis.host=localhost
spring.redis.port=6379
# mybatis
mybatis.mapper-locations=classpath:mapper/*.xml
```
3. 创建实体类 User.java:
```java
public class User {
private Integer id;
private String name;
private Date birthday;
private Integer sex;
private String clazzName;
// getter 和 setter 略
}
```
4. 创建 DAO 接口和映射文件 UserMapper.xml:
UserMapper.java:
```java
@Mapper
public interface UserMapper {
User getUserById(Integer id);
List<User> getAllUsers();
void addUser(User user);
void updateUser(User user);
void deleteUser(Integer id);
}
```
UserMapper.xml:
```xml
<mapper namespace="com.example.dao.UserMapper">
<resultMap id="BaseResultMap" type="com.example.entity.User">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="birthday" property="birthday" />
<result column="sex" property="sex" />
<result column="clazz_name" property="clazzName" />
</resultMap>
<select id="getUserById" resultMap="BaseResultMap">
select * from user where id = #{id}
</select>
<select id="getAllUsers" resultMap="BaseResultMap">
select * from user
</select>
<insert id="addUser" useGeneratedKeys="true" keyProperty="id">
insert into user(name, birthday, sex, clazz_name) values(
#{name}, #{birthday}, #{sex}, #{clazzName}
)
</insert>
<update id="updateUser">
update user set
name = #{name},
birthday = #{birthday},
sex = #{sex},
clazz_name = #{clazzName}
where id = #{id}
</update>
<delete id="deleteUser">
delete from user where id = #{id}
</delete>
</mapper>
```
5. 创建 Service 接口和实现类 UserServiceImpl.java:
UserService.java:
```java
public interface UserService {
User getUserById(Integer id);
List<User> getAllUsers();
void addUser(User user);
void updateUser(User user);
void deleteUser(Integer id);
}
```
UserServiceImpl.java:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User getUserById(Integer id) {
return userMapper.getUserById(id);
}
@Override
public List<User> getAllUsers() {
return userMapper.getAllUsers();
}
@Override
public void addUser(User user) {
userMapper.addUser(user);
}
@Override
public void updateUser(User user) {
userMapper.updateUser(user);
}
@Override
public void deleteUser(Integer id) {
userMapper.deleteUser(id);
}
}
```
6. 在 Thymeleaf 目录下创建 addUser.html 文件:
```html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Add User</title>
</head>
<body>
<h1>Add User</h1>
<form method="post" th:action="@{/user}">
<label>ID:</label>
<input type="text" name="id" required><br>
<label>Name:</label>
<input type="text" name="name" required><br>
<label>Birthday:</label>
<input type="text" name="birthday" required><br>
<label>Sex:</label>
<input type="text" name="sex" required><br>
<label>Clazz Name:</label>
<input type="text" name="clazzName" required><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
```
7. 创建 Controller 类 UserController.java:
```java
@Controller
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/user/add")
public String addUser() {
return "addUser";
}
@PostMapping("/user")
public String addUser(User user) {
userService.addUser(user);
return "redirect:/user";
}
}
```
8. 最后,在启动类中添加 @MapperScan 注解:
```java
@SpringBootApplication
@MapperScan("com.example.dao")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
```
现在,你就可以运行应用程序并在浏览器中访问 http://localhost:8080/user/add 来添加用户了。