wulongbang7370 2016-04-30 05:43 采纳率: 0%
浏览 2439

请问为什么我的mybatis 关联查询只有一条记录,但是日志打印出来的Total: 3, 谢谢

SELECT * FROM JiKeUser;
这个里面有如下三条记录,

     id  userName   password  
------  ---------  ----------
     2  jike00100  666666    
     3  jike00200  888888    
     8  author001  123456    

SELECT * FROM author;
这个里面也是三条记录,

     id  realName      userID  IDCard  
------  ------------  ------  --------
     1  一个大牛               8  (NULL)  
     2  bbb                2  (NULL)  
     3  aaaaaa             3  (NULL)  

这样关联查询自然也是三条,

 SELECT * FROM author INNER JOIN jikeUser 
            ON jikeuser.id=author.userID ;

在java中的映射也就是author对象中有个引用指向jikeuser,

 public class Author {
    private Integer id; //自增主键
    private JiKeUser jikeUser; //外键引用JiKeUser表
    private String realName;//真实姓名
    private String IDCard;//身份证

可是我用如下方法查询却只查询出来一个记录,
这是配置文件


    <resultMap id="JiKeAuthorMap" type="Author">
        <id property="id" column="author.id" />
        <result property="realName" column="realName" />
        <result property="IDCard" column="IDCard" />
        <association property="jikeUser" column="userID"
            javaType="JiKeUser">
            <id property="id" column="jikeUser.id" />
            <result property="userName" column="userName" />
            <result property="password" column="password" />
        </association>
    </resultMap>

    <select id="selectAuthorJoin" resultMap="JiKeAuthorMap">
        select * from author inner join jikeUser 
            on jikeuser.id=author.userID
    </select>
下面是java代码
    List<Author> ap=session.selectList("selectAuthorJoin");//联合查询 
            System.out.println(ap.size());   //1
但是如下的日志里面的total倒是对的,是3,
    2016-04-30 05:33:43,781 [main] DEBUG [/.selectAuthorJoin] - ==>  Preparing: select * from author inner join jikeUser on jikeuser.id=author.userID 
  2016-04-30 05:33:43,806 [main] DEBUG [/.selectAuthorJoin] - ==> Parameters: 
  2016-04-30 05:33:43,819 [main] DEBUG [/.selectAuthorJoin] - <==      Total: 3

可就是查询出来的list的size就是1个啊,郁闷
  • 写回答

4条回答 默认 最新

  • 开不了口1990 2016-04-30 08:04
    关注

    不要select*,把别名加上试试

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)