3. 添加数据源、服务器、thymeleaf 等等配置 4.创建实体层 5.创建控制器 6.创建处理用户请求方法 7.创建 service 及 mapper 层给出详细代码
时间: 2024-12-15 17:22:46 浏览: 1
从0开始手把手教学实现SpringBoot+Vue前后端分离后台管理系统
5星 · 资源好评率100%
3. **添加数据源、服务器、Thymeleaf配置**:
在Spring Boot中,首先在`application.properties`或`application.yml`文件中配置数据源,例如使用MySQL:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/testdb
spring.datasource.username=root
spring.datasource.password=root
server.port=8080
thymeleaf.spring.mode=THYMELEAF
thymeleaf.suffix=.html
```
Thymeleaf还需要引入依赖,并在WebMvcConfigurerAdapter或SpringBootWebFluxConfiguration中启用模板引擎。
4. **创建实体层** (`entity`包下的Book.java):
```java
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;
private String author;
// getters and setters
}
```
5. **创建控制器** (`controller`包下的BookController.java):
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/books")
public class BookController {
private final BookService bookService;
@Autowired
public BookController(BookService bookService) {
this.bookService = bookService;
}
@GetMapping
public List<Book> getAllBooks() {
return bookService.getAllBooks();
}
@GetMapping("/{id}")
public Book getBookById(@PathVariable Long id) {
return bookService.getBookById(id);
}
// POST、PUT、DELETE方法添加对应的处理函数
}
```
6. **创建处理用户请求的方法**:
- `getAllBooks()`:用于获取所有书籍列表,通常会关联到`BookMapper`的查询方法。
- `getBookById()`:根据ID获取单个书籍,同样关联到`BookMapper`。
7. **创建service和mapper层**:
**Service层** (`service`包下的BookService.java):
```java
import org.springframework.stereotype.Service;
@Service
public class BookService {
private final BookMapper bookMapper;
@Autowired
public BookService(BookMapper bookMapper) {
this.bookMapper = bookMapper;
}
public List<Book> getAllBooks() {
return bookMapper.selectAll();
}
public Book getBookById(Long id) {
return bookMapper.selectById(id);
}
// 添加保存、更新、删除操作对应的方法
}
```
**Mapper层** (`mapper`包下的BookMapper.xml 或 BookMapper.java, 如果使用MyBatis-Plus可以简化为Java接口):
```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.mapper.BookMapper">
<select id="selectAll" resultType="com.example.entity.Book">
SELECT * FROM books
</select>
<!-- 根据ID获取方法 -->
<select id="selectById" parameterType="long" resultType="com.example.entity.Book">
SELECT * FROM books WHERE id = #{id}
</select>
</mapper>
// 或者 Java方式
public interface BookMapper {
List<Book> selectAll();
Book selectById(Long id);
}
```
这些代码片段展示了基本的配置和功能实现,实际项目中可能需要根据具体需求进行调整和扩展。
阅读全文