Mybatis关联查询
一对一:返回单条数据
mapper.xml
<resultMap id="Login" type="User">
<id column="u_id" property="u_id"></id>
<result column="u_name" property="u_name"></result>
<result column="u_password" property="u_password"></result>
<result column="u_type" property="u_type"></result>
<result column="u_datatime" property="u_datatime"></result>
<!-- column :列名 property : 字段名-->
</resultMap>
<select id="findUser" parameterType="User" resultMap="Login">
select * from user where u_name=#{u_name} and u_password=#{u_password}
</select>
dao
public User findUser(User user);
一对一:返回多条数据
userMapper.xml
<resultMap id="LoginList" type="User">
<id property="u_id" column="u_id"></id>
<result column="u_name" property="u_name"></result>
<result column="u_password" property="u_password"></result>
<result column="u_type" property="u_type"></result>
<result column="u_datatime" property="u_datatime"></result>
</resultMap>
<select id="findUserList" resultMap="LoginList" parameterType="User">
select * from user where u_name=#{u_name} and u_password=#{u_password}
</select>
dao
public List<User> findUserList(User user);
一对多
<resultMap id="LoginMap" type="Order"><!-- type 父实体类-->
<id column="u_id" property="u_id"></id>
<collection property="user" ofType="User"><!--property: 取出来的数据的类型 ofType: 子实体类类型-->
<id column="u_id" property="u_id"></id>
<result column="u_name" property="u_name"></result>
<result column="u_password" property="u_password"></result>
<result column="u_type" property="u_type"></result>
<result column="u_datatime" property="u_datatime"></result>
</collection>
</resultMap>
<select id="findOrder" resultMap="LoginMap" parameterType="User">
select * from user,user_type where user.u_type = user_type.u_t_id and user.u_type=#{u_type};
</select>
dao
public List<Order> findOrder(User user);
pojo实体类
Order
package com.ssm.pojo;
public class Order {
private int u_id;
private User user;
public int getU_id() {
return u_id;
}
public void setU_id(int u_id) {
this.u_id = u_id;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
User
package com.ssm.pojo;
public class User {
private int u_id;
private String u_name;
private String u_password;
private int u_type;
private String u_datatime;
public int getU_id() {
return u_id;
}
public void setU_id(int u_id) {
this.u_id = u_id;
}
public String getU_name() {
return u_name;
}
public void setU_name(String u_name) {
this.u_name = u_name;
}
public String getU_password() {
return u_password;
}
public void setU_password(String u_password) {
this.u_password = u_password;
}
public int getU_type() {
return u_type;
}
public void setU_type(int u_type) {
this.u_type = u_type;
}
public String getU_datatime() {
return u_datatime;
}
public void setU_datatime(String u_datatime) {
this.u_datatime = u_datatime;
}
@Override
public String toString() {
return "User{" +
"u_id=" + u_id +
", u_name='" + u_name + '\'' +
", u_password='" + u_password + '\'' +
", u_type=" + u_type +
", u_datatime='" + u_datatime + '\'' +
'}';
}
}