日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

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

编程问答

06_一对一和一对多

發布時間:2025/4/17 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 06_一对一和一对多 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. 一對一關系

1. 一對一的實體類

2. 一對一映射配置

二. 一對多關系

1. 一對多的實體類

2. 一對多映射配置

二. 一對一和一對多關系例子

1. 新建一個名為AssociationCollection的Java工程, 拷入相關jar包

2. 新建User.java

package com.lywgames.domain;import java.util.Date;public class User {private Integer id;private String name;private String sex;private Date birthday;private String address;public User() { }public User(String name, String sex, Date birthday, String address) {this.name = name;this.sex = sex;this.birthday = birthday;this.address = address;}public User(Integer id, String name, String sex, Date birthday, String address) {this.id = id;this.name = name;this.sex = sex;this.birthday = birthday;this.address = address;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "User [id=" + id + ", name=" + name + ", sex=" + sex + ", birthday=" + birthday + ", address=" + address+ "]";}}

3. 新建Order.java

package com.lywgames.domain;import java.io.Serializable; import java.sql.Timestamp;public class Order implements Serializable {private static final long serialVersionUID = 1L;private Integer id;private Integer uid;private String number;private Timestamp createtime;public Order() { }public Order(Integer uid, String number, Timestamp createtime) {this.uid = uid;this.number = number;this.createtime = createtime;}public Order(Integer id, Integer uid, String number, Timestamp createtime) {this.id = id;this.uid = uid;this.number = number;this.createtime = createtime;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public Integer getUid() {return uid;}public void setUid(Integer uid) {this.uid = uid;}public String getNumber() {return number;}public void setNumber(String number) {this.number = number;}public Timestamp getCreatetime() {return createtime;}public void setCreatetime(Timestamp createtime) {this.createtime = createtime;}@Overridepublic String toString() {return "Order [id=" + id + ", number=" + number + ", createtime=" + createtime + "]";} }

4. 新建OrderDetail.java

package com.lywgames.domain;import java.io.Serializable;/*** 訂單詳情* 一個訂單對應一個用戶*/ public class OrderDetail implements Serializable {private static final long serialVersionUID = 1L;private User user;private Order order;public User getUser() {return user;}public void setUser(User user) {this.user = user;}public Order getOrder() {return order;}public void setOrder(Order order) {this.order = order;}@Overridepublic String toString() {return "OrderDetail [\r\n\t" + user + ",\r\n\t" + order + "\r\n]";} }

5. 新建UserOrderList.java

package com.lywgames.domain;import java.io.Serializable; import java.util.List;/*** 用戶訂單列表* 一個用戶對應多個訂單*/ public class UserOrderList implements Serializable {private static final long serialVersionUID = 1L;private User user;private List<Order> orderList;public User getUser() {return user;}public void setUser(User user) {this.user = user;}public List<Order> getOrderList() {return orderList;}public void setOrderList(List<Order> orderList) {this.orderList = orderList;}@Overridepublic String toString() {String ol = "";for (Order order : orderList) {ol += ",\r\n\t" + order;}return "UserOrderList [\r\n\t" + user + ol + "\r\n]";} }

6. 新建UserMapper.java

package com.lywgames.dao;import com.lywgames.domain.OrderDetail; import com.lywgames.domain.UserOrderList;public interface UserMapper {public OrderDetail selectOrderDetailByOrderId(Integer id);public UserOrderList selectUserOrderListByUserId(Integer id); }

7. 在和UserMapper.java接口同一目錄下新建UserMapper.xml映射文件

7. 在和UserMapper.java接口同一目錄下新建UserMapper.xml映射文件

9. 在src目錄下新建SqlMapConfig.xml數據庫配置文件

10. 新建Test.java

package com.lywgames;import java.io.InputStream; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import com.lywgames.dao.UserMapper; import com.lywgames.domain.OrderDetail; import com.lywgames.domain.UserOrderList;public class Test {public static void main(String[] args) {SqlSession sqlSession = null;try {// 指定全局配置文件String resource = "SqlMapConfig.xml";// 讀取配置文件InputStream inputStream = Resources.getResourceAsStream(resource);// 構建sqlSessionFactorySqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);// 獲取sqlSessionsqlSession = sqlSessionFactory.openSession();UserMapper um = sqlSession.getMapper(UserMapper.class);OrderDetail od = um.selectOrderDetailByOrderId(1);System.out.println("----------一對一----------");System.out.println(od);UserOrderList uol = um.selectUserOrderListByUserId(4);System.out.println("----------一對多----------");System.out.println(uol);} catch (Exception e) {e.printStackTrace();} finally {if(sqlSession != null) {// 釋放資源sqlSession.close();}}} }

11. 查看user表數據

12. 查看order表數據

13. 運行項目

總結

以上是生活随笔為你收集整理的06_一对一和一对多的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。