mybatis关联查询问题
在做测试的时候发现一个表中的一个关联字段查询不出来,大家帮我看看什么原因!以下是两张表,users表中的role跟role表中的roleid主外键关系实体类:Userpu...
在做测试的时候发现一个表中的一个关联字段查询不出来,大家帮我看看什么原因!
以下是两张表,users表中的role跟role表中的roleid主外键关系
实体类:User
public class User implements Serializable{
private static final long serialVersionUID = 451949797460417653L;
private int id;
private String username;
private String password;
private List<Role> role;
private String mail;
setter and getter。。。
实体类:Role
public class Role {
private int roleid;
private String roleDesc;
private User user;
接口及实现类
public interface LoginDao {
User login(User user);
}
<mapper namespace="com.js.dao.LoginDao">
<resultMap type="com.js.model.User" id="UserResultMap">
<id property="id" column="id"/>
<result property="username" column="username"/>
<result property="password" column="password"/>
<result property="mail" column="mail"/>
<collection property="role" column="role" javaType="com.js.model.Role">
<id property="roleid" column="roleid"/>
<result property="roleDesc" column="roleDesc"/>
</collection>
</resultMap>
<select id="login" parameterType="com.js.model.User" resultMap="UserResultMap">
select * from
users
where
username=#{username} and password=#{password}
</select>
</mapper>
当我调用login方法时,返回的只有id、username、password、email的值,而role为null 展开
以下是两张表,users表中的role跟role表中的roleid主外键关系
实体类:User
public class User implements Serializable{
private static final long serialVersionUID = 451949797460417653L;
private int id;
private String username;
private String password;
private List<Role> role;
private String mail;
setter and getter。。。
实体类:Role
public class Role {
private int roleid;
private String roleDesc;
private User user;
接口及实现类
public interface LoginDao {
User login(User user);
}
<mapper namespace="com.js.dao.LoginDao">
<resultMap type="com.js.model.User" id="UserResultMap">
<id property="id" column="id"/>
<result property="username" column="username"/>
<result property="password" column="password"/>
<result property="mail" column="mail"/>
<collection property="role" column="role" javaType="com.js.model.Role">
<id property="roleid" column="roleid"/>
<result property="roleDesc" column="roleDesc"/>
</collection>
</resultMap>
<select id="login" parameterType="com.js.model.User" resultMap="UserResultMap">
select * from
users
where
username=#{username} and password=#{password}
</select>
</mapper>
当我调用login方法时,返回的只有id、username、password、email的值,而role为null 展开
1个回答
2015-04-03
展开全部
mybaits应该不会自己去找关联关系,你要查出role应该要自己写个查询
<collection property="" select="你的查询role的sqlid"></collection>
<collection property="" select="你的查询role的sqlid"></collection>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询