引自免费微信小程序:皆我百晓生
为了解决你的问题,我们将按照你提供的步骤逐一进行。下面是一个详细的指南,包括代码和配置,用于在Spring Boot中整合MyBatis,并使用Thymeleaf作为前端模板引擎。
1. 创建Spring Boot项目并添加依赖
首先,我们需要创建一个Spring Boot项目,并在pom.xml中添加必要的依赖。以下是你需要的依赖项:
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-thymeleaf
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.2.1
mysql
mysql-connector-java
runtime
org.projectlombok
lombok
true
2. 配置文件
在application.properties中添加以下配置:
# 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
# MyBatis配置
mybatis.mapper-locations=classpath:mapper/*.xml
# Thymeleaf配置
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
3. 定义实体类Book
创建Book.java:
import lombok.Data;
@Data
public class Book {
private Long id;
private String title;
private String author;
}
4. 创建Mapper接口与映射文件
BookMapper.java:
import org.apache.ibatis.annotations.Select;
import com.example.demo.entity.Book;
public interface BookMapper {
@Select("SELECT * FROM book WHERE id = #{id}")
Book getBookById(Long id);
}
在src/main/resources/mapper目录下创建BookMapper.xml:
5. 创建服务层接口和实现类
BookService.java:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.demo.entity.Book;
import com.example.demo.mapper.BookMapper;
@Service
public class BookService {
@Autowired
private BookMapper bookMapper;
public Book getBookById(Long id) {
return bookMapper.getBookById(id);
}
}
6. 创建控制类
BookController.java:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import com.example.demo.entity.Book;
import com.example.demo.service.BookService;
@RestController
public class BookController {
@Autowired
private BookService bookService;
@GetMapping("/getOneBook/{id}")
public Book getBook(@PathVariable Long id) {
return bookService.getBookById(id);
}
}
7. 使用 Thymeleaf创建视图模板
在src/main/resources/templates目录下创建show.html:
Book Details
Book Title
Author Name
启动项目并测试
确保你的MySQL数据库已设置好,然后运行你的应用。在浏览器中输入http://localhost:8080/getOneBook/1(其中1是书的ID),你应该能看到书的信息。
以上步骤应该能帮助你完成在Spring Boot中整合MyBatis并使用Thymeleaf显示数据的过程。如果有任何疑问或遇到问题,可以进一步询问。
