mybatis一对一关联查询无法查出关联对象的数据的解决

今天使用Mybatis一对一关联查询时候出现一个问题,只能查出关联表主键,无法查询出关联表中的其他数据:

 

Mybatis的代码:

<mapper namespace="com.usc.user.mapper.UserMapper">

    "UserBean" id="UserInfoMap">

       "id" column="id" />

       "username" column="username" />

       "password" column="password" />

       "roleId" column="roleId" />

       "role"   select="queryRoleInfoById" column="roleId" >

           "roleId" column="roleId" />

           "rolename" column="role_name" />

      

   

 

   

   

   

      

   


数据库结构:

 mybatis一对一关联查询无法查出关联对象的数据的解决_第1张图片

mybatis一对一关联查询无法查出关联对象的数据的解决_第2张图片


查询结果:

{"id":1,"username":"11","password":"22","roleId":2,"role":{"roleId":2,"rolename":null}}

 


最后弄了半天才发现原来关联查询的那个对象的属性名必须和数据库中的字段名一样。即:

Rolename字段在数据库中也是这个名字。

或者将查询改为:

   

   

 

改完之后的查询结果如下:

{"id":1,"username":"11","password":"22","roleId":2,"role":{"roleId":2,"rolename":"副站长"}}

 

 

你可能感兴趣的:(web,java,mybatis)