穆穆青风至 2022-03-11 21:26 采纳率: 97.4%
浏览 26
已结题

mybatis一对多查询,具体如下

img

img


2个实体类,表就不放了,都是对应的,在命令行中执行查询语句以及结果如下

img


下面的查询语句和上面命令行的语句是一样的


<resultMap id="user_orders" type="xml.User">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="age" column="age"/>
        <collection property="desList" ofType="xml.Des">
            <id property="id" column="did"/>
            <result property="weapon" column="weapon"/>
        </collection>
    </resultMap>

    <select id="test_5" resultMap="user_orders">
        select * from user ,des where id=did
    </select>

接口

List<User> test_5();

测试语句

List<User> userList = mapper.test_5();
        for (User user : userList) {
            List<Des> desList = user.getDesList();
            for (Des des : desList) {
                System.out.println(des.getWeapon());
            }
        }

问题来了,执行测试语句后,只输出了一个弓箭,这是为啥,我的预期是(弓箭,书,弓箭),为啥仅输出了一个(弓箭)

  • 写回答

1条回答 默认 最新

  • £漫步 云端彡 2022-03-11 21:57
    关注

    试着把id的值改为不同的值,id为主键,是唯一的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月18日
  • 已采纳回答 4月10日
  • 修改了问题 3月11日
  • 创建了问题 3月11日

悬赏问题

  • ¥15 精通抖音评论点赞接口的来!需要开发
  • ¥15 VB.NET2022如何生成发布成exe文件
  • ¥30 matlab appdesigner私有函数嵌套整合
  • ¥15 给我一个openharmony跑通webrtc实现视频会议的简单demo项目,sdk为12
  • ¥15 vb6.0使用jmail接收smtp邮件并另存附件到D盘
  • ¥30 vb net 使用 sendMessage 如何输入鼠标坐标
  • ¥15 关于freesurfer使用freeview可视化的问题
  • ¥100 谁能在荣耀自带系统MagicOS版本下,隐藏手机桌面图标?
  • ¥15 求SC-LIWC词典!
  • ¥20 有关esp8266连接阿里云