idea springboot mybatis增删改查
时间: 2025-01-09 16:20:21 浏览: 4
### 使用Spring Boot和MyBatis实现CRUD操作
在构建基于Java的应用程序时,选择合适的框架和技术栈对于项目的成功至关重要。当涉及到数据持久化层的选择时,MyBatis是一个轻量级的数据映射工具,它能够简化SQL语句的编写并提供灵活的结果集映射机制[^1]。
#### Maven依赖配置
为了使项目具备使用MyBatis的能力,在`pom.xml`文件中需加入如下Maven依赖:
```xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!-- MySQL驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
```
上述代码片段展示了如何通过引入特定版本号来指定所需的库及其作用范围。这里选择了MySQL作为关系型数据库管理系统,并指定了相应的JDBC连接器以确保应用程序能与之交互良好。
#### 数据源配置
接着定义应用属性中的数据源设置部分,通常位于`application.properties`或`application.yml`内:
```yaml
spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
```
这段YAML格式的内容说明了怎样设定通往本地运行实例上的测试数据库路径以及认证凭证等必要参数。
#### Mapper接口设计
创建一个名为`EmployeeMapper.java`的接口用于描述针对员工表的操作方法签名:
```java
@Mapper
public interface EmployeeMapper {
@Select("SELECT * FROM employees WHERE id=#{id}")
Employee getEmpById(Integer id);
@Insert("INSERT INTO employees(name, age) VALUES (#{name}, #{age})")
int insert(Employee emp);
}
```
此段Java代码体现了利用注解方式声明查询语句的具体形式;其中包含了获取单条记录的方法及新增一条新纪录的功能[^2]。
#### 测试类编写
最后一步是在单元测试包下建立一个新的JUnit测试案例——`LearnSpringBoot09CacheApplicationTests.java`,以便验证之前所编写的业务逻辑是否按预期工作正常:
```java
@SpringBootTest
class LearnSpringBoot09CacheApplicationTests {
@Autowired
private EmployeeMapper employeeMapper;
@Test
public void testGetEmpById(){
Employee employee = this.employeeMapper.getEmpById(1);
assertNotNull(employee);
System.out.println(employee.toString());
}
@Test
public void testInsert(){
Employee newEmp = new Employee();
newEmp.setName("John Doe");
newEmp.setAge(30);
int result = this.employeeMapper.insert(newEmp);
assertEquals(1,result);
}
}
```
以上示例不仅涵盖了基本读取功能还加入了简单的写入测试用例,从而全面覆盖了常见的CURD场景需求。
阅读全文