springboot整合mybatis插入代码测试类
时间: 2023-08-24 19:08:11 浏览: 110
以下是一个简单的Spring Boot整合MyBatis插入数据的示例代码:
```
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {
@Autowired
private UserMapper userMapper;
@Test
public void insertUserTest(){
User user = new User();
user.setName("Tom");
user.setAge(25);
userMapper.insertUser(user);
assertNotNull(user.getId());
}
}
```
说明:
1. 使用JUnit测试框架和SpringRunner运行器运行测试用例。
2. 使用@SpringBootTest注解加载Spring Boot应用程序上下文。
3. 使用@Autowired注解注入UserMapper。
4. 编写一个测试方法insertUserTest(),创建一个User对象并设置属性,然后调用UserMapper的insertUser()方法将数据插入到数据库中。
5. 最后,使用assertNotNull()方法来验证插入操作是否成功,即User对象的id属性是否被赋值。
相关问题
springboot整合mybatis删除代码测试类
以下是一个简单的springboot整合mybatis删除代码的测试类示例:
```java
@RunWith(SpringRunner.class)
@SpringBootTest
public class MybatisDeleteTest {
@Autowired
private UserMapper userMapper;
@Test
public void testDeleteUser() {
// 创建一个用户对象
User user = new User();
user.setId(1L);
user.setUsername("test");
user.setPassword("123456");
// 插入该用户到数据库中
userMapper.insert(user);
// 根据id删除该用户
int result = userMapper.deleteByPrimaryKey(user.getId());
// 验证是否删除成功
Assert.assertEquals(1, result);
// 根据id查询该用户,应为空
User deletedUser = userMapper.selectByPrimaryKey(user.getId());
Assert.assertNull(deletedUser);
}
}
```
该测试类使用了SpringRunner作为测试运行器,@SpringBootTest注解用于启动springboot应用程序。在测试方法中,首先创建一个用户对象并插入到数据库中,然后根据id删除该用户,并验证删除结果。最后,根据id查询该用户,应为空。
请给出用springboot整合mybatis的详细步骤,其中数据库如何创建也要详细解释
好的,下面是使用Spring Boot整合MyBatis的详细步骤:
1. 创建一个Spring Boot项目,添加上述依赖关系。
2. 在`application.properties`文件中配置数据库连接信息:
```properties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/db_name?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
```
其中,`db_name`是您创建的数据库的名称,`root`和`123456`是您的数据库用户名和密码。
3. 创建数据库表,以下是一个示例SQL语句:
```sql
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
这将创建一个名为`user`的表,包含`id`、`name`和`age`三个字段。
4. 创建一个`User`实体类,如下所示:
```java
public class User {
private Long id;
private String name;
private Integer age;
// getter和setter省略
}
```
对应数据库表中的三个字段。
5. 创建一个`UserMapper`接口,定义数据访问方法:
```java
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User findById(Long id);
@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")
void save(User user);
}
```
这里使用了注解方式来定义SQL语句,`@Select`表示查询操作,`@Insert`表示插入操作。
6. 创建一个`UserMapper.xml`文件,定义SQL语句:
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserMapper">
<select id="findById" parameterType="java.lang.Long" resultType="com.example.demo.entity.User">
SELECT * FROM user WHERE id = #{id}
</select>
<insert id="save" parameterType="com.example.demo.entity.User">
INSERT INTO user(name, age) VALUES(#{name}, #{age})
</insert>
</mapper>
```
这里也定义了与`UserMapper`接口相同的两个方法,但使用了XML方式来定义SQL语句。
7. 创建`UserServiceImpl`实现`UserService`接口:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User findById(Long id) {
return userMapper.findById(id);
}
@Override
public void save(User user) {
userMapper.save(user);
}
}
```
这里使用了`@Service`注解来声明为Spring Bean,`@Autowired`自动注入`UserMapper`接口。
8. 创建`UserController`控制器类:
```java
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/user/{id}")
public User findById(@PathVariable Long id) {
return userService.findById(id);
}
@PostMapping("/user")
public void save(@RequestBody User user) {
userService.save(user);
}
}
```
这里使用了`@RestController`注解声明为Spring MVC控制器,`@GetMapping`和`@PostMapping`分别表示HTTP GET和POST请求。
至此,整个项目已经完成,您可以启动应用程序并访问`http://localhost:8080/user/1`来测试查询操作,也可以使用POST请求来测试插入操作。
阅读全文