完成一个项目:利用springboot框架,将数据库数据与前端链接
时间: 2023-12-20 17:04:13 浏览: 127
好的,我可以为您提供一个简单的示例项目,演示如何使用Spring Boot框架将数据库数据与前端链接。假设您已经安装了Java和Maven,并且已经熟悉了Spring Boot和基本的HTML/CSS/JavaScript。
首先,我们需要创建一个新的Spring Boot项目。您可以使用Spring Initializr来创建一个新项目,或者使用您喜欢的IDE来手动创建一个新项目。在创建项目时,您需要选择以下依赖项:
- Spring Web
- Spring Data JPA
- H2 Database
- Thymeleaf
这些依赖项将为我们提供一个Web应用程序、一个数据库、一个模板引擎和一个数据访问框架。
接下来,我们需要创建一个数据库表和一个数据模型来表示该表。我们将创建一个名为`employee`的表,其中包含`id`、`name`和`salary`三列。我们将创建一个名为`Employee`的类来表示该表。以下是一个示例:
```
@Entity
@Table(name = "employee")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private BigDecimal salary;
// getters and setters
@Override
public String toString() {
return "Employee [id=" + id + ", name=" + name + ", salary=" + salary + "]";
}
}
```
接下来,我们需要创建一个Repository接口,用于定义与数据库交互的方法。我们将创建一个名为`EmployeeRepository`的接口,并扩展`JpaRepository`接口。以下是一个示例:
```
public interface EmployeeRepository extends JpaRepository<Employee, Long> {
List<Employee> findByNameContainingIgnoreCase(String name);
}
```
现在,我们需要创建一个RESTful控制器,用于暴露我们的数据模型和Repository接口给前端。我们将创建一个名为`EmployeeController`的控制器,并使用Thymeleaf模板引擎来呈现HTML页面。以下是一个示例:
```
@Controller
public class EmployeeController {
@Autowired
private EmployeeRepository employeeRepository;
@GetMapping("/")
public String index(Model model) {
List<Employee> employees = employeeRepository.findAll();
model.addAttribute("employees", employees);
return "index";
}
@PostMapping("/")
public String addEmployee(Employee employee) {
employeeRepository.save(employee);
return "redirect:/";
}
@GetMapping("/search")
public String searchEmployees(String name, Model model) {
List<Employee> employees = employeeRepository.findByNameContainingIgnoreCase(name);
model.addAttribute("employees", employees);
return "index";
}
}
```
最后,我们需要创建一个HTML模板,用于呈现数据并与控制器交互。我们将创建一个名为`index.html`的模板,并使用Thymeleaf标记来呈现数据和处理表单。以下是一个示例:
```
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Employee Management</title>
</head>
<body>
<h1>Employee Management</h1>
<form action="/" method="post">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
<label for="salary">Salary:</label>
<input type="number" id="salary" name="salary" required>
<button type="submit">Add Employee</button>
</form>
<form action="/search" method="get">
<label for="search">Search:</label>
<input type="text" id="search" name="name">
<button type="submit">Search</button>
</form>
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Salary</th>
</tr>
</thead>
<tbody>
<tr th:each="employee : ${employees}">
<td th:text="${employee.id}"></td>
<td th:text="${employee.name}"></td>
<td th:text="${employee.salary}"></td>
</tr>
</tbody>
</table>
</body>
</html>
```
现在,您可以启动该应用程序,并在浏览器中访问`http://localhost:8080/`来查看应用程序。您可以添加新的员工、搜索现有的员工,以及查看所有员工的信息。
阅读全文