使用 Mybatis或者MyBatis-Plus完成图书信息的管理,包括图书信息添加、图书信息删除、图书信息修改、图书信息查询、图书信息显示。给我完整代码
时间: 2024-11-20 11:35:56 浏览: 25
基于SpringBoot+MyBatis-Plus的图书管理系统-原创作品
5星 · 资源好评率100%
Mybatis或MyBatis-Plus(MP)都是优秀的持久层框架,它们可以帮助你在Java应用中操作数据库。这里我会给你一个基本的框架,用于管理图书信息。首先,确保你已经安装了Spring Boot + MyBatis/MyBatis-Plus。
**1. 添加依赖**
在`pom.xml`文件中添加MyBatis/MyBatis-Plus的依赖:
```xml
<dependencies>
<!-- ... -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.5.6</version> <!-- 或者 mybatis-plus版本 -->
</dependency>
<!-- 如果用MyBatis-Plus,还需要这个 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.0</version> <!-- 更新到最新版 -->
</dependency>
<!-- ... -->
</dependencies>
```
**2. 创建实体类(BookEntity)和Mapper接口(BookMapper.java)**
```java
// BookEntity.java
public class Book {
private Integer id;
private String title;
private String author;
// getters and setters
}
// BookMapper.java
public interface BookMapper {
@Insert("INSERT INTO books(title, author) VALUES(#{title}, #{author})")
void insert(Book book);
@Select("SELECT * FROM books WHERE id = #{id}")
Book selectById(Integer id);
@Update("UPDATE books SET title = #{title}, author = #{author} WHERE id = #{id}")
void update(Book book);
@Delete("DELETE FROM books WHERE id = #{id}")
void deleteById(Integer id);
}
```
**3. 配置Mybatis或者MyBatis-Plus**
在application.properties或application.yml中配置数据源和扫描包路径:
```yaml
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=password
mybatis.mapper-locations=classpath:mappers/*.xml
mybatis-plus.global-config.scan-packages-for-auto-configure=true
```
**4. 创建Service层(BookService.java)和Controller层(BookController.java)**
```java
// BookService.java
@Service
public class BookService {
@Autowired
private BookMapper bookMapper;
public void addBook(Book book) { bookMapper.insert(book); }
public Book getBookById(Integer id) { return bookMapper.selectById(id); }
public void updateBook(Book book) { bookMapper.update(book); }
public void deleteBookById(Integer id) { bookMapper.deleteById(id); }
}
// BookController.java (使用@RestController和@GetMapping/PostMapping等)
@RestController
@RequestMapping("/books")
public class BookController {
@Autowired
private BookService bookService;
// 示例API
@PostMapping("/add")
public ResponseEntity<?> addBook(@RequestBody Book book) {
bookService.addBook(book);
return ResponseEntity.ok().build();
}
@GetMapping("/{id}")
public ResponseEntity<Book> getBookById(@PathVariable("id") Integer id) {
Book book = bookService.getBookById(id);
if (book != null) return ResponseEntity.ok(book);
return ResponseEntity.notFound().build();
}
// 其他HTTP方法类似
}
```
这只是一个基础的框架,实际项目可能需要更复杂的数据验证、事务处理以及分页、排序等功能。如果你需要查询特定字段,记得在Mapper接口中的方法中指定。
阅读全文