mybatisplus 集合映射
时间: 2024-12-31 13:35:52 浏览: 39
### MyBatis-Plus 中集合映射的使用方法
在 MyBatis-Plus 中处理复杂数据类型的映射,比如 `List<String>` 或其他集合类型时,可以利用自定义的 TypeHandler 来实现 JSON 字段的序列化和反序列化。这使得存储和读取复杂的 Java 对象变得简单。
对于 `User` 类中的 `tags` 属性,通过指定 `@TableField` 注解并设置相应的 `typeHandler` 参数来完成这一操作[^2]:
```java
@TableName(value="tb_user", autoResultMap = true)
public class User {
@TableField(typeHandler = JacksonTypeHandler.class)
private List<String> tags;
}
```
这段代码表明当执行数据库操作时,框架会自动调用 `JacksonTypeHandler` 将 `List<String>` 转换成 JSON 格式的字符串存入数据库;反之亦然,在查询记录的时候也会把对应的 JSON 数据转换回 `List<String>` 形式赋给实体类属性 `tags`。
为了验证这种机制的有效性,可以通过编写单元测试来进行简单的功能检测。下面是一个基于 Spring Boot 测试环境下的例子,展示了如何获取所有用户的列表,并打印出来[^3]:
```java
@SpringBootTest
class Mybatispluse01ApplicationTests {
@Autowired
private UserDao userDao;
@Test
void contextLoads() {
List<User> users = userDao.selectList(null);
System.out.println(users);
}
}
```
在这个测试案例里,假设已经存在一些带有标签信息(`tags`)的用户被保存到了名为 `tb_user` 的表中,则上述程序将会成功加载这些条目并将它们作为对象数组返回。
阅读全文
相关推荐


















