SpringBoot集成Mybatis-flex
572字约2分钟
2024-11-16
一、准备工作
创建一个 Spring Boot 项目。您可以使用 Spring Initializr 创建一个新的 Spring Boot 项目,并选择以下依赖:
- Spring Web
- MySQL Driver(如果使用 MySQL 数据库)
准备数据库。确保您有一个可用的数据库,并创建必要的表。
二、添加 MyBatis-Flex 依赖
首先,您需要在项目中添加 MyBatis-Flex 的依赖。假设 MyBatis-Flex 已经发布到 Maven 中央仓库,您可以在 pom.xml 中添加如下依赖:
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>mybatis-flex</artifactId>
<version>1.0.0</version> <!-- 请替换为实际版本号 -->
</dependency>如果使用 Gradle,请在 build.gradle 中添加:
implementation 'com.mycompany:mybatis-flex:1.0.0' // 请替换为实际版本号三、配置数据库连接
在 application.properties 或 application.yml 中配置数据库的连接信息:
application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=myuser
spring.datasource.password=mypassword
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# MyBatis 配置
mybatis.configuration.map-underscore-to-camel-case=trueapplication.yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydatabase
username: myuser
password: mypassword
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
configuration:
map-underscore-to-camel-case: true四、创建实体类
定义一个 Java 类来表示数据库中的表。
import com.mycompany.mybatisflex.annotation.TableId;
import com.mycompany.mybatisflex.annotation.TableName;
@TableName("user")
public class User {
@TableId
private Long id;
private String name;
private String email;
// getters and setters
}五、创建 Mapper 接口
定义一个 Mapper 接口,使用 MyBatis-Flex 的功能。
import com.mycompany.mybatisflex.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {
// 可以定义自定义的 SQL 方法
}六、使用 Mapper 进行数据库操作
在服务类中注入 Mapper 接口,并使用它来执行数据库操作。
import com.example.demo.mapper.UserMapper;
import com.example.demo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User getUserById(Long id) {
return userMapper.selectById(id);
}
public List<User> getAllUsers() {
return userMapper.selectList(null);
}
public void createUser(User user) {
userMapper.insert(user);
}
public void deleteUser(Long id) {
userMapper.deleteById(id);
}
}七、创建控制器
创建一个控制器来提供用户信息的端点。
import com.example.demo.model.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public User getUserById(@PathVariable Long id) {
return userService.getUserById(id);
}
@GetMapping
public List<User> getAllUsers() {
return userService.getAllUsers();
}
@PostMapping
public void createUser(@RequestBody User user) {
userService.createUser(user);
}
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable Long id) {
userService.deleteUser(id);
}
}八、测试 MyBatis-Flex 集成
启动 Spring Boot 应用程序,并通过以下端点测试 MyBatis-Flex 集成:
- 获取用户信息:
GET /api/users/{id} - 获取所有用户:
GET /api/users - 创建用户:
POST /api/users - 删除用户:
DELETE /api/users/{id}
