实体类:
public class User implements Serializable{
private Integer id;
private String username;
private String sex;
private Date birthday;
private String address;
private List<Orders> ordersList;
public class Orders implements Serializable{
private Integer id;
private Integer userId;
private String number;
private Date createtime;
private String note;
//附加对象 用户对象
private User user;
orderMapper.xml
<?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">
<!-- 写sql语句 -->
<mapper namespace="com.mapper.OrderMapper">
<resultMap type="Orders" id="orders">
<result column="user_id" property="userId"/>
</resultMap>
<select id="selectOrdersList" resultMap="orders">
select id,user_id,number,createtime,note from orders
</select>
<resultMap type="Orders" id="order">
<result column="user_id" property="userId"/>
<result column="number" property="number"/>
<!-- 一对一 -->
<association property="user" javaType="User">
<id column="user_id" property="id"/>
<result column="username" property="username"/>
</association>
</resultMap>
<select id="selectOrders" resultMap="order">
select o.id,o.number,o.createtime,o.user_id,u.username
from orders o
left join user u
on o.user_id=u.id
</select>
<!-- //一对多 -->
<resultMap type="User" id="user">
<id column="user_id" property="id"/>
<result column="number" property="username"/>
<!-- 一对多 -->
<collection property="ordersList" ofType="Orders">
<id column="id" property="id"/>
<result column="number" property="number"/>
</collection>
</resultMap>
<select id="selectUserList" resultMap="user">
select
o.id,
o.user_id,
o.number,
o.createtime,
u.username
from user u
left join orders o
on o.user_id=u.id
</select>
</mapper>
测试类:
public class MybatisMapperTest2 {
@Test
public void testOrderList() throws IOException{
String resource="sqlMapConfig.xml";
InputStream in=Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(in);
SqlSession sqlSession=sqlSessionFactory.openSession();
OrderMapper orderMapper=sqlSession.getMapper(OrderMapper.class);
List<Orders> selectOrdersList=orderMapper.selectOrders();
for(Orders orders:selectOrdersList){
System.out.println(orders);
}
}
@Test
public void testUserList() throws IOException{
String resource="sqlMapConfig.xml";
InputStream in=Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(in);
SqlSession sqlSession=sqlSessionFactory.openSession();
OrderMapper orderMapper=sqlSession.getMapper(OrderMapper.class);
List<User> users=orderMapper.selectUserList();
for(User user:users){
System.out.println(user);
}
}
}