lyang0317 2016-08-20 15:48 采纳率: 0%
浏览 941

使用mybatis遇到的问题

本人使用mybatis遇到一个问题:
返回结果java类定义如下:
public class PersonVO {
private String name;
private List persons;
}
public class Person {
private String name;
private int age;
privaet String sex;
}
xml结果集定义如下(已简化,结果类型可能写法不准确看大致意思就行):

 <resultMap id="" type="PersonVO">
  <result property="name" column="name"/>
    <association property="persons" resultMap="Person"/> 
</resultMap>

<resultMap id="" type="Person">
    <result property="name" column="name"/>
    <result property="age" column="age"/>
    <result property="sex" column="sex"/>
</resultMap>

xml SQL如下:
select name,age,sex from t_person

得出为PersonVO类集合,PersonVO中name对应相同name的Person类集合,实际就像对单表按名称进行了分组
我想问问为什么有这个效果,这里对象的一对多为何能用association关联结果集表示,并且关联的结果集能通过单表查询实现最终查询对象按name分组的效果

  • 写回答

1条回答 默认 最新

  • 骑着毛驴开大奔 2016-08-20 16:13
    关注

    你在写SQL 的时候要连接表, 那么连接表的另一个表就是对应你现在的association的关联映射,
    我是这么理解的,从hibernate中简化而来的。 你可以去看看hibernate ,
    因为要实现半自动映射,那么映射关联了,那么SQL 上也必须要对应才能实现。 association就这个框架就是这样设定的吧

    评论

报告相同问题?

悬赏问题

  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 matlab求解平差
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 vue2登录调用后端接口如何实现