1.继承的实体类
/**
* @文件名称: Orders.java
* @描述: TODO
* @作者: 一叶扁舟(skiff)
* @时间:2018年1月15日 上午10:14:26
* @版本:V1.0
*/
package com.skiff.www.domain;
/**
* @类功能说明:
* @作者: 一叶扁舟 (skiff)
* @创建时间:2018年1月15日 上午10:14:26
* @版本:V1.0
*/
public class Orders extends Order {
private String userName;
private String address;
/**
* @return the userName
*/
public String getUserName() {
return userName;
}
/**
* @param userName the userName to set
*/
public void setUserName(String userName) {
this.userName = userName;
}
/**
* @return the address
*/
public String getAddress() {
return address;
}
/**
* @param address the address to set
*/
public void setAddress(String address) {
this.address = address;
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "Orders [userName=" + userName + ", address=" + address + "]";
}
}
2.mapper文件
<select id = "findOrderAndUser2" resultType="com.skiff.www.domain.Orders">
select o.id,
o.number ,
o.createtime,
o.note ,
o.user_id as userId,
u.username,
u.address
from orders o
left join user u on o.user_id = u.id
</select>
3.接口
/**
* @文件名称: UserMapper.java
* @描述: TODO
* @作者: 一叶扁舟(skiff)
* @时间:2018年1月9日 下午3:18:05
* @版本:V1.0
*/
package com.skiff.www.mapper;
import java.util.List;
import com.skiff.www.domain.Order;
import com.skiff.www.domain.Orders;
/**
* @类功能说明:
* @作者: 一叶扁舟 (skiff)
* @创建时间:2018年1月9日 下午4:29:34
* @版本:V1.0
*/
public interface OrderMapper {
//命名空间 绑定此接口
public Order findOrderById(Integer id);
// 获取所有的数据
public List<Order> findOrderAll();
//一对一的查询
public List<Order> findOrderAndUser();
//一对一的查询第二中方式
public List<Orders> findOrderAndUser2();
}
4.测试方法
@Test
public void findOrderAndUser2() {
//创建SqlSessionFactory
//创建SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
//SqlSEssion帮我生成一个实现类 (给接口)
OrderMapper orderMapper = sqlSession.getMapper(OrderMapper.class);
List<Orders> orders = orderMapper.findOrderAndUser2();
for (Orders order : orders) {
System.out.println(order);
}
}