spring boot mybatis Thymeleaf 开发一个web程序 展示用户列表信息(用户id,用户名字,用户年纪,用户性别) demo
时间: 2023-04-06 22:05:00 浏览: 121
好的,这个问题属于技术问题,我可以回答。您可以使用Spring Boot作为后端框架,MyBatis作为ORM框架,Thymeleaf作为模板引擎。您可以创建一个User实体类,包含用户id、用户名字、用户年龄和用户性别属性。然后,您可以创建一个UserController类,使用MyBatis查询用户列表信息,并将其传递给Thymeleaf模板进行展示。
相关问题
利用 SpringBoot搭建项目,整合ThymeLeaf、MySQL、Mybatis编写程序实现一个简单的个人身份信息查询功能。具体要求如下: (1)数据库名为db_personInfo,数据表为tb_user,表中属性包括id,code username,sex,age,address,tel,分别表示用户id,身份证号,姓名,性别,年龄,地址,联系电话。 (2)用户通过访问“lgetuserInfo”页面,输入身份证号,查询个人信息 (3)如果信息正确,则通过ThymeLeaf模板引擎返回touserhtml页面,显示用户身份信息(身份证号,姓名,性别,年龄,地址,联系电话) (4)如果用户不存在,则通过ThymeLeaf模板引擎返回errorhtml页面,提示用户输入信息错误 请给出整个系统详细的设计步骤思路和每个步骤中的关键代码(注:包括数报库创建和系统搭建过程)。
系统设计步骤思路如下:
1. 创建数据库和表
首先需要在MySQL中创建数据库和表,创建语句如下:
```sql
CREATE DATABASE db_personInfo;
USE db_personInfo;
CREATE TABLE tb_user (
id INT PRIMARY KEY AUTO_INCREMENT,
code VARCHAR(20) NOT NULL,
username VARCHAR(20) NOT NULL,
sex VARCHAR(2) NOT NULL,
age INT NOT NULL,
address VARCHAR(50) NOT NULL,
tel VARCHAR(20) NOT NULL
);
```
2. 创建SpringBoot项目
使用Spring Initializr创建一个SpringBoot项目,在pom.xml中添加依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
```
3. 配置数据源和Mybatis
在application.properties文件中配置数据源和Mybatis:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/db_personInfo?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.configuration.map-underscore-to-camel-case=true
```
然后在mapper目录下创建UserMapper.xml文件,编写SQL语句:
```xml
<?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.demo.mapper.UserMapper">
<resultMap id="userMap" type="com.example.demo.entity.User">
<id column="id" property="id" />
<result column="code" property="code" />
<result column="username" property="username" />
<result column="sex" property="sex" />
<result column="age" property="age" />
<result column="address" property="address" />
<result column="tel" property="tel" />
</resultMap>
<select id="selectUserByCode" resultMap="userMap">
SELECT * FROM tb_user WHERE code = #{code}
</select>
</mapper>
```
4. 编写实体类和DAO接口
在entity包下创建User类:
```java
public class User {
private Integer id;
private String code;
private String username;
private String sex;
private Integer age;
private String address;
private String tel;
// getter and setter
}
```
在mapper包下创建UserMapper接口:
```java
@Mapper
public interface UserMapper {
User selectUserByCode(String code);
}
```
5. 编写Controller和ThymeLeaf模板
在controller包下创建UserController类:
```java
@Controller
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/getUserInfo")
public String getUserInfo() {
return "getUserInfo";
}
@PostMapping("/getUserInfo")
public String postUserInfo(String code, Model model) {
User user = userMapper.selectUserByCode(code);
if (user != null) {
model.addAttribute("user", user);
return "toUser";
} else {
return "error";
}
}
}
```
在templates目录下创建getUserInfo.html、toUser.html和error.html文件:
getUserInfo.html:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>查询个人信息</title>
</head>
<body>
<form action="#" method="post">
<label>请输入身份证号:</label>
<input type="text" name="code" />
<input type="submit" value="查询" />
</form>
</body>
</html>
```
toUser.html:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>个人身份信息</title>
</head>
<body>
<table border="1">
<tr>
<td>身份证号</td>
<td>姓名</td>
<td>性别</td>
<td>年龄</td>
<td>地址</td>
<td>联系电话</td>
</tr>
<tr>
<td th:text="${user.code}"></td>
<td th:text="${user.username}"></td>
<td th:text="${user.sex}"></td>
<td th:text="${user.age}"></td>
<td th:text="${user.address}"></td>
<td th:text="${user.tel}"></td>
</tr>
</table>
</body>
</html>
```
error.html:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>查询失败</title>
</head>
<body>
<h1>查询失败,请检查身份证号是否正确!</h1>
</body>
</html>
```
6. 运行程序
运行程序,在浏览器中访问http://localhost:8080/getUserInfo,输入身份证号进行查询,系统会根据数据库中的数据返回相应的信息,或者返回查询失败的提示信息。
关键代码如上所示,需要注意的是,要正确配置数据源和Mybatis,还需要注意ThymeLeaf模板引擎的使用。
一个简易的,使用mybatis,springboot,Thymeleaf,lombok,springmvc的简短案例吗
好的,下面是一个简单的示例:
1. 创建项目并添加依赖
首先,我们需要创建一个Spring Boot项目,并添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
```
2. 配置数据源和MyBatis
在application.properties文件中添加以下配置:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mybatis.mapper-locations=classpath:mapper/*.xml
```
其中,url、username、password需要根据实际情况进行修改。
3. 创建数据表和实体类
在MySQL中创建一个user表,并创建对应的实体类User:
```sql
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
```
```java
@Data
public class User {
private Long id;
private String name;
private Integer age;
}
```
4. 创建Mapper接口和XML文件
创建UserMapper接口和对应的XML文件:
UserMapper.java:
```java
@Mapper
public interface UserMapper {
List<User> findAll();
}
```
UserMapper.xml:
```xml
<?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.demo.mapper.UserMapper">
<select id="findAll" resultType="com.example.demo.entity.User">
select * from user
</select>
</mapper>
```
5. 创建Controller和视图
创建UserController和对应的视图:
```java
@Controller
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/users")
public String findAll(Model model) {
List<User> users = userMapper.findAll();
model.addAttribute("users", users);
return "users";
}
}
```
users.html:
```html
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>User List</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>User List</h1>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
</tr>
<tr th:each="user : ${users}">
<td th:text="${user.id}">ID</td>
<td th:text="${user.name}">Name</td>
<td th:text="${user.age}">Age</td>
</tr>
</table>
</body>
</html>
```
6. 运行项目
启动项目,访问http://localhost:8080/users,即可看到用户列表。
阅读全文