Achen1252 2019-07-19 11:47 采纳率: 0%
浏览 505

mybatis 多对一但是实体类中获得不到查询的结果

```DEBUG [http-bio-80-exec-2] - <== Total: 1
DEBUG [http-bio-80-exec-2] - Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7a30581e]
DEBUG [http-bio-80-exec-2] - Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7a30581e] from current transaction
DEBUG [http-bio-80-exec-2] - ooo Using Connection [com.mysql.jdbc.JDBC4Connection@67df626e]
DEBUG [http-bio-80-exec-2] - ==> Preparing: select m.id,u.username as u_user,u.userid as u_id,m.message from message m LEFT JOIN user u on m.user_id=u.userId limit ?,?
DEBUG [http-bio-80-exec-2] - ==> Parameters: 0(Integer), 1(Integer)
TRACE [http-bio-80-exec-2] - <== Columns: id, u_user, u_id, message
TRACE [http-bio-80-exec-2] - <== Row: 2, admin, 21, ajksgbiquldbakj,dgwouidbkaj
DEBUG [http-bio-80-exec-2] - <== Total: 1
DEBUG [http-bio-80-exec-2] - Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7a30581e]
[Message [id=2, message=ajksgbiquldbakj,dgwouidbkaj, user=null]]
[{"keyword":null,"page":1,"rows":1}]DEBUG [http-bio-80-exec-2] - Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7a30581e]
DEBUG [http-bio-80-exec-2] - Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7a30581e]
[Message [id=2, message=ajksgbiquldbakj,dgwouidbkaj, user=null]]


```//实体类
```public class Message {
    private Long id;
    private String message;
    private User user;

    @Override
    public String toString() {
        return "Message [id=" + id + ", message=" + message + ", user=" + user + "]";
    }

}

```//xml文件
 <select id="queryForPage" resultMap="BaseResultMap">
  select m.id,u.username as u_user,u.userid as u_id,m.message from message m LEFT JOIN user u on m.user_id=u.userId
   <include refid="where_sql"/>  
  <if test="page!=null"> 
            limit #{start},#{rows}          
            </if>
  </select>


```//resultMap
 <resultMap id="BaseResultMap" type="com._520it.com.domain.Message">
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="message" jdbcType="VARCHAR" property="message" />
  <association property="user" javaType="com._520it.com.domain.User" columnPrefix="u_">
    <id column="userid" property="id" />
    <result column="username"  property="user"/>
  </association>
  </resultMap>


    message 实体类中的user获得不到查询出来的结果
  • 写回答

1条回答 默认 最新

  • doncha 2019-07-19 12:04
    关注
    <association property="user" javaType="com._520it.com.domain.User" columnPrefix="u_">
        <id column="userid" property="id" />
        <result column="username"  property="user"/>
      </association>
    
    这里写错了,你的查询语句是,u.username as u_user,一对多查询里面的column要写成你查询结果的别名,而不是表字段名
    改成
    
    <association property="user" javaType="com._520it.com.domain.User" columnPrefix="u_">
        <id column="u_id" property="id" />
        <result column=" u_user"  property="user"/>
      </association>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算