假设user和orders为一对多的关系,一个user对应多个订单
User.java
package per.czt.ssm.domain;
import java.util.List;
import java.util.Set;
public class User {
private Integer id;
private String username;
private String password;
private List<Orders> ordersList;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public List<Orders> getOrdersList() {
return ordersList;
}
public void setOrdersList(List<Orders> ordersList) {
this.ordersList = ordersList;
}
}
Orders.java
package per.czt.ssm.domain;
public class Orders {
private Integer id;
private User user;
private Integer userId;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
}
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 配置命名空间 -->
<mapper namespace="per.czt.ssm.domain">
<!-- 一个订单对应一个用户 -->
<resultMap type="per.czt.ssm.domain.Orders" id="Orders">
<id property="id" column="oid" />
<!--<result column="userId" property="userId" /> -->
<association property="user"
javaType="per.czt.ssm.domain.User" >
<id property="id" column="uid" />
<result property="username" column="username" />
<result property="password" column="password" />
</association>
</resultMap>
<!-- 配置查询语句 -->
<select id="searchOrders"
parameterType="per.czt.ssm.domain.Orders" resultMap="Orders">
select * from
orders,user where user.uid=orders.userId
</select>
<!-- 假设user和orders是一对多 -->
<resultMap type="per.czt.ssm.domain.User" id="userMap">
<id property="id" column="uid" />
<result column="username" property="username" />
<result column="password" property="password" />
<collection property="ordersList"
ofType="per.czt.ssm.domain.Orders" >
<id property="id" column="oid" />
<result property="userId" column="userId"/>
</collection>
</resultMap>
<!-- 配置查询语句 -->
<select id="searchUser" parameterType="per.czt.ssm.domain.User"
resultMap="userMap">
select * from user,orders where user.uid=orders.userId
</select>
</mapper>