相关阅读:
本项目所有代码及文档都托管在 Github地址:https://github.com/zhisheng17/mybatis
Mybatis 高级知识
安排:对订单商品数据模型进行分析
订单商品数据模型
Mapper 文件 测试代码(记得在 SqlConfig.xml中添加载 OrdersMapperCustom.xml 文件) 测试结果 Mapper 文件 测试代码 测试结果 Mapper 文件 测试文件 测试结果 原文作者:zhishengOrdersMapperCustom.java
public interface OrdersMapperCustom
{
public OrdersCustom findOrdersUser() throws Exception;
}
@Test
public void testFindOrdersUser() throws Exception
{
SqlSession sqlSession = sqlSessionFactory.openSession();
//创建OrdersMapperCustom对象,mybatis自动生成代理对象
OrdersMapperCustom ordersMapperCustom = sqlSession.getMapper(OrdersMapperCustom.class);
//调用OrdersMapperCustom的方法
List<OrdersCustom> list = ordersMapperCustom.findOrdersUser();
System.out.println(list);
sqlSession.close();
}
<!--查询订单关联查询用户信息, 使用 resultMap-->
<select id="findOrdersUserResultMap" resultMap="OrdersUserResultMap">
SELECT orders.*, USER.username, USER.sex, USER.address FROM orders, USER WHERE orders.user_id = user.id
</select>
public List<Orders> findOrdersUserResultMap() throws Exception;
@Test
public void testFindOrdersUserResultMap() throws Exception
{
SqlSession sqlSession = sqlSessionFactory.openSession();
//创建OrdersMapperCustom对象,mybatis自动生成代理对象
OrdersMapperCustom ordersMapperCustom = sqlSession.getMapper(OrdersMapperCustom.class);
//调用OrdersMapperCustom的方法
List<Orders> list = ordersMapperCustom.findOrdersUserResultMap();
System.out.println(list);
sqlSession.close();
}
<!--查询订单及订单明细信息, 使用 resultMap-->
<select id="findOrdersAndOrderDetailResultMap" resultMap="OrdersAndOrderDetailResultMap">
SELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id orderdetail_id, orderdetail.items_id, orderdetail.items_num, orderdetail.orders_id
FROM orders, USER,orderdetail WHERE orders.user_id = user.id AND orderdetail.orders_id=orders.id
</select>
public List<Orders> findOrdersAndOrderDetailResultMap() throws Exception;
@Test
public void testFindOrdersAndOrderDetailResultMap() throws Exception
{
SqlSession sqlSession = sqlSessionFactory.openSession();
//创建OrdersMapperCustom对象,mybatis自动生成代理对象
OrdersMapperCustom ordersMapperCustom = sqlSession.getMapper(OrdersMapperCustom.class);
//调用OrdersMapperCustom的方法
List<Orders> list = ordersMapperCustom.findOrdersAndOrderDetailResultMap();
System.out.println(list);
sqlSession.close();
}
映射文件
<!--查询用户及用户购买商品信息, 使用 resultMap-->
<select id="findUserAndItemsResultMap" resultMap="UserAndItemsResultMap">
SELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id orderdetail_id, orderdetail.items_id, orderdetail.items_num, orderdetail.orders_id
FROM orders, USER,orderdetail WHERE orders.user_id = user.id AND orderdetail.orders_id=orders.id
</select>
Mapper 文件
public List<User> findUserAndItemsResultMap() throws Exception;
测试文件
@Test
public void testFindUserAndItemsResultMap() throws Exception
{
SqlSession sqlSession = sqlSessionFactory.openSession();
//创建OrdersMapperCustom对象,mybatis自动生成代理对象
OrdersMapperCustom ordersMapperCustom = sqlSession.getMapper(OrdersMapperCustom.class);
//调用OrdersMapperCustom的方法
List<User> list = ordersMapperCustom.findUserAndItemsResultMap();
System.out.println(list);
sqlSession.close();
}
测试:
原文地址: https://segmentfault.com/a/1190000007691419
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。