java – 使用MyBatis返回Object内Object的列表
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 使用MyBatis返回Object内Object的列表,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1352字,纯文字阅读大概需要2分钟。
内容图文
我在使用MyBatis时在另一个Object中返回对象列表时遇到问题.我的主要对象看起来像这样:
private Long id;
private String symbol;
private List<TypePermission> typePermissions;
我的映射器看起来像这样
<resultMap type="CalendarType" id="calendarTypeMap">
<result column="id" property="id"/>
<result column="symbol" property="symbol"/>
<collection property="TypePermissions" resultMap="TypePermissions"/>
</resultMap>
<resultMap id="TypePermissions" type="TypePermission">
<result property="roleId" column="roleId"/>
<result property="permissionSymbol" column="permissionSymbol"/>
</resultMap>
我的目标是获得这样的对象:
content:[
"id":id,
"symbol":symbol,
"TypePermissions":{
"roleId":roleId,
"permissionSymbol":permissionSymbol
}
]
当我执行sql查询时,我得到以下错误,找不到符号TypePermissions,因为主SELECT尝试选择行,如TYPEPERMISSIONS,ID,SYMBOL
我在互联网上搜索,但未找到任何有用的东西.你能帮助我并指出我做错了什么吗?
解决方法:
请发布您的选择代码段,我认为这样就可以了:
<select id="selectCalendarType" parameterType="int" resultMap="calendarTypeMap">
SELECT c.id,
c.symbol
t.roleId,
t.permissionSymbol
FROM CalendarType c
LEFT JOIN TypePermission t ON c.id = t.c_id
WHERE c.id = #{id}
</select>
我认为你会得到的是这样的事情:
content:{
"id":id,
"symbol":symbol,
"TypePermissions":[{
"roleId":roleId,
"permissionSymbol":permissionSymbol
}]
}
更多关于这一点,你可以阅读这个例子Nested_Results_for_Collection
内容总结
以上是互联网集市为您收集整理的java – 使用MyBatis返回Object内Object的列表全部内容,希望文章能够帮你解决java – 使用MyBatis返回Object内Object的列表所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。