一对一
扩展
创建Orders的扩展类OrdersExtend,添加要查找的user表里的字段
package com.company.model;public class OrdersExtend extends Orders { private String username; private String address; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "OrdersExtend{" + "username='" + username + '\'' + ", address='" + address + '\'' + '}' + super.toString(); }}
OrdersMapper.xml
@Test public void func8() throws IOException { InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml"); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = sessionFactory.openSession(); OrdersMapper ordersMapper = session.getMapper(OrdersMapper.class); OrdersExtend order = ordersMapper.getOrderById(3); // OrdersExtend{username='王五', address='null'}Orders{id=3, user_id=1, number='1000010', createtime=Wed Feb 04 13:22:35 CST 2015, note='null'} }
模型
模型Orders里添加User属性
@Test public void func8() throws IOException { InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml"); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = sessionFactory.openSession(); OrdersMapper ordersMapper = session.getMapper(OrdersMapper.class); Orders order = ordersMapper.getOrderById2(3); // Orders{id=0, user_id=0, number='null', createtime=null, note='null', user=User{id=1, username='王五', sex='null', birthday=null, address='null'}} }
一对多
模型Orders里添加OrderDetail属性
private ListorderDetails;
OrdersMapper.xml
多对多
UserMapper.xml
@Test public void func() throws IOException { InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml"); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = sessionFactory.openSession(); UserMapper userMapper = session.getMapper(UserMapper.class); Listusers = userMapper.getUserAndOrder(); for (User user : users) { System.out.println(user); for (Orders order : user.getOrdersList()) { System.out.println(order); for (OrderDetail orderDetail : order.getOrderDetails()) { System.out.println(orderDetail + ":" + orderDetail.getItems()); } System.out.println("==============="); } } }
懒加载
OrdersMapper.xml
SqlMapConfig.xml
@Test public void func() throws IOException { InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml"); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = sessionFactory.openSession(); OrdersMapper ordersMapper = session.getMapper(OrdersMapper.class); Listorders = ordersMapper.getOrderAndUserByLazyLoading(); for (Orders order : orders) { System.out.println(order); System.out.println(order.getUser()); } }