java – 使用mybatis注释获取嵌套对象
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 使用mybatis注释获取嵌套对象,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1080字,纯文字阅读大概需要2分钟。
内容图文
我有这样的POJO
class foo
{
private String id;
private String attribute;
private Map<String, String> dataMap;
}
我的数据模型是
Table Item
- INT id
- CHAR attribute
//将dataMap存储为键值对
Table Data
- INT id
- CHAR key
- CHAR value
现在,我想结合以下2个查询
第一查询:
@Select("select * from Item where attribute=#{attribute}"
public List<Item> getItemList(@Param("attribute") String attribute);
获取给定id的所有键值对的另一个查询
如何获得单个查询,给定属性,获取id列表并填充嵌套对象(dataMap)
//经历过@Results,@ Result ..
解决方法:
这种情况可以通过两种方式在myBatis中解决:
>嵌套选择 – 您检索项目列表,并为每个项目运行单独的选择以获取数据;
>嵌套结果 – 通过运行单个连接查询来检索具有关联数据的项目,并让myBatis处理结果中的重复子集;
第一个选项对性能非常不利,导致所谓的“n 1选择问题”.第二个是做这种事情的首选方式.
MyBatis User guide包含使用嵌套结果的示例,但它用于XML配置. Java注释有一些限制,但理论上应该可以这样做(我从未尝试过id,因为我不喜欢在Java代码中选择,但下面的文章提供了一些有用的信息:IBatis (MyBatis): Handling Joins: Advanced Result Mapping, Association, Collections, N+1 Select Problem).
内容总结
以上是互联网集市为您收集整理的java – 使用mybatis注释获取嵌套对象全部内容,希望文章能够帮你解决java – 使用mybatis注释获取嵌套对象所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。