欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

一对多 java_mybatis一对多和多对一

发布时间:2025/3/15 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 一对多 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一对多和多对一的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。