Yur*_*ets 4 java sql oracle spring mybatis
我在使用MyBatis时在另一个Object中返回对象列表时遇到问题.我的主要对象看起来像这样:
private Long id;
private String symbol;
private List<TypePermission> typePermissions;
Run Code Online (Sandbox Code Playgroud)
我的映射器看起来像这样
<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>
Run Code Online (Sandbox Code Playgroud)
我的目标是获得这样的对象:
content:[
"id":id,
"symbol":symbol,
"TypePermissions":{
"roleId":roleId,
"permissionSymbol":permissionSymbol
}
]
Run Code Online (Sandbox Code Playgroud)
当我执行sql查询时,我得到以下错误cannot find symbol 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>
Run Code Online (Sandbox Code Playgroud)
我认为你会得到的是这样的事情:
content:{
"id":id,
"symbol":symbol,
"TypePermissions":[{
"roleId":roleId,
"permissionSymbol":permissionSymbol
}]
}
Run Code Online (Sandbox Code Playgroud)
更多关于此问题,您可以阅读此示例Nested_Results_for_Collection
| 归档时间: |
|
| 查看次数: |
8973 次 |
| 最近记录: |