以下是一个简单的示例,演示了如何在Spring Boot项目中使用MyBatis进行数据库操作:
1. 添加依赖:在项目的 pom.xml 文件中添加以下依赖:
<dependencies>
<!-- Spring Boot Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency><!-- MyBatis Starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency><!-- 数据库驱动 -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
2. 创建数据库表:在数据库中创建一个示例表,如下所示:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);
3. 配置数据源:在 Spring Boot 的配置文件(如 `application.properties` 或 `application.yml`)中配置数据库连接信息:
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
4. 创建实体类:创建一个 User 类,表示数据库中的用户记录,如下所示:
public class User {
private Long id;
private String name;
private String email;
// Getters and setters
// ...
}
5. 创建 Mapper 接口:创建一个 UserMapper 接口,定义数据库操作的方法,如下所示:
@Mapper
public interface UserMapper {
@Select("SELECT * FROM users")
List<User> getAllUsers();
@Insert("INSERT INTO users (name, email) VALUES (#{name}, #{email})")
void insertUser(User user);
@Update("UPDATE users SET name = #{name}, email = #{email} WHERE id = #{id}")
void updateUser(User user);
@Delete("DELETE FROM users WHERE id = #{id}")
void deleteUser(Long id);
}
6. 编写业务逻辑:创建一个 UserService 类,调用 UserMapper 接口执行数据库操作,如下所示:
@Service
public class UserService {
private final UserMapper userMapper;
public UserService(UserMapper userMapper) {
this.userMapper = userMapper;
}
public List<User> getAllUsers() {
return userMapper.getAllUsers();
}
public void addUser(User user) {
userMapper.insertUser(user);
}
public void updateUser(User user) {
userMapper.updateUser(user);
}
public void deleteUser(Long id) {
userMapper.deleteUser(id);
}
}
7. 使用数据库操作:在控制器类或其他业务代码中,使用 UserService 类执行数据库操作,如下所示:
@RestController
public class UserController {
private final UserService userService;
public UserController(UserService userService) {
this.userService = userService;
}
@GetMapping("/users")
public List<User> getAllUsers() {
return userService.getAllUsers();
}
@PostMapping("/users")
public void addUser(@RequestBody User user) {
userService.addUser(user);
}
@PutMapping("/users/{id}")
public void updateUser(@PathVariable Long id, @RequestBody User user) {
user.setId(id);
userService.updateUser(user);
}
@DeleteMapping("/users/{id}")
public void deleteUser(@PathVariable Long id) {
userService.deleteUser(id);
}
}
以上代码演示了一个简单的使用Spring Boot和MyBatis的示例,包括配置数据源、创建实体类、编写Mapper接口、编写业务逻辑以及使用控制器执行数据库操作的过程。请注意,实际项目中的代码结构和配置可能会有所不同,具体取决于你的项目需求和架构。