一对多 java_mybatis一对多和多对一
一、实体类package com.liu.po;
/**
* 订单类
*
* @author yingjie
*
*/
public class OrderInfo {
private Integer orderId;
private String orderName;
private Double orderPrice;
private UserInfo userInfo;
public UserInfo getUserInfo() {
return userInfo;
}
public void setUserInfo(UserInfo userInfo) {
this.userInfo = userInfo;
}
public Integer getOrderId() {
return orderId;
}
public void setOrderId(Integer orderId) {
this.orderId = orderId;
}
public String getOrderName() {
return orderName;
}
public void setOrderName(String orderName) {
this.orderName = orderName;
}
public Double getOrderPrice() {
return orderPrice;
}
public void setOrderPrice(Double orderPrice) {
this.orderPrice = orderPrice;
}
@Override
public String toString() {
return "OrderInfo [orderId=" + orderId + ", orderName=" + orderName
+ ", orderPrice=" + orderPrice + ", userInfo=" + userInfo + "]";
}
}
用户类package com.liu.po;
import java.util.List;
/**
* 用户信息的实体类
*
* @author yingjie
*
*/
public class UserInfo {
private Integer userId;
private String userName;
private String userSex;
private List orderList;
public List getOrderList() {
return orderList;
}
public void setOrderList(List orderList) {
this.orderList = orderList;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserSex() {
return userSex;
}
public void setUserSex(String userSex) {
this.userSex = userSex;
}
@Override
public String toString() {
return "UserInfo [userId=" + userId + ", userName=" + userName
+ ", userSex=" + userSex + "]";
}
}
二、Mapper XML映射文件
多对一:<?xml version="1.0" encoding="UTF-8" ?>
mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
select * from order_info
一对多<?xml version="1.0" encoding="UTF-8" ?>
mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
select
a.*,b.*
from
user_info a,
order_info b
where
a.user_id = b.user_id
and a.user_id=#{userId}
三、Mapper 接口package com.liu.mapper;
import java.util.List;
import com.liu.po.OrderInfo;
public interface OrderMapper {
public List selectOrder();
}
package com.liu.mapper;
import com.liu.po.UserInfo;
public interface UserInfoMapper {
public UserInfo selectUser(Integer userId);
}
四、单元测试
package com.liu;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.liu.mapper.OrderMapper;
import com.liu.mapper.UserInfoMapper;
import com.liu.po.OrderInfo;
import com.liu.po.UserInfo;
import com.liu.utils.DBFactory;
public class OrderTest {
SqlSession session = null;
UserInfoMapper mapper = null;
OrderMapper orderMapper = null;
@Before
public void testBefore() {
session = DBFactory.getSession();
mapper = session.getMapper(UserInfoMapper.class);
orderMapper = session.getMapper(OrderMapper.class);
}
@After
public void testAfter() {
session.close();
}
@Test
public void selectOrder() {
List list = orderMapper.selectOrder();
for (OrderInfo order : list) {
System.out.println(order);
}
}
@Test
public void selectUser() {
UserInfo user = mapper.selectUser(4);
System.out.println(user);
List list = user.getOrderList();
for (OrderInfo order : list) {
System.out.println(order);
}
}
}
总结
以上是生活随笔为你收集整理的一对多 java_mybatis一对多和多对一的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Windows下安装GTK+的最佳攻略
- 下一篇: 段码液晶屏笔段电压范围_液晶屏逻辑板和屏