使用springboot框架和mybatis框架编写程序,查询所有书籍信息并显示在页面上(要求:①、使用注解进行框架整合 书籍信息存储在数据库中)。
时间: 2024-12-06 11:21:30 浏览: 12
在Spring Boot框架和MyBatis框架中,你可以按照以下步骤编写一个简单的应用程序来查询所有书籍信息并将其显示在页面上:
1. **项目初始化**:
- 创建一个新的Spring Boot项目,选择Web依赖。
- 添加MyBatis的starter到pom.xml文件中。
```xml
<dependencies>
<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>
</dependency>
<!-- 如果你的数据库是MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
```
2. **配置**:
- 在application.properties中添加数据库连接配置。
- 在`src/main/resources`目录下创建`mapper`, `config` 和 `repository` 文件夹。
3. **实体类(Book)和Mapper接口(BookMapper)**:
- 定义Book实体类,包含书籍的相关字段,并添加`@Table`注解表示数据表。
```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
}
```
- 编写对应Mapper接口的注解方法,如`selectAllBooks()`。
```java
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface BookMapper {
@Select("SELECT * FROM books")
List<Book> selectAllBooks();
}
```
4. **Repository接口和注入**:
- 创建BookRepository接口,使用`@Repository`注解声明为JpaRepository子接口,自动处理CRUD操作。
```java
import org.springframework.data.jpa.repository.JpaRepository;
public interface BookRepository extends JpaRepository<Book, Long> {
}
```
- 在Service类中注入BookRepository并调用`selectAllBooks()`方法获取所有书籍。
5. **Controller类**:
- 创建Controller负责接收HTTP请求,注入BookRepository并映射到视图。
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.ui.Model;
@RestController
public class BookController {
@Autowired
private BookRepository bookRepository;
@GetMapping("/books")
public String getAllBooks(Model model) {
List<Book> books = bookRepository.findAll();
model.addAttribute("books", books);
return "books";
}
}
```
6. **Thymeleaf模板(如果使用)**:
- 在`templates`目录下的`books.html`文件中,遍历传入的books列表并显示它们。
现在,当你访问`http://localhost:8080/books`时,应该能看到所有的书籍信息。
阅读全文