一对多 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+的最佳攻略
- 下一篇: C#委托及事件