利用关联关系操纵对象——多对多关系.pptxVIP

  • 2
  • 0
  • 约6.26千字
  • 约 29页
  • 2019-10-30 发布于湖北
  • 举报

利用关联关系操纵对象——多对多关系.pptx

JavaEE程序设计;;;学习任务;任务三 Hibernate的高级组件;多对多关联关系;多对多关联关系的应用实例;1.项目介绍 该项目中商品(Items)和订单(Orders)是多对多的关系,其中PO对象Items和Orders对应的表items和orders使用多对多的关联,Items类的代码如【例7-20】所示,该PO对象对应的映射文件Items.hbm.xml,代码如【例7-21】所示,Orders类的代码如【例7-22】所示,该PO对象对应的映射文件Orders.hbm.xml,代码如【例7-23】所示,表items的字段以及数据类型如图7-11所示,orders表的字段以及数据类型如图7-12所示,关联关系表selecteditems的字段以及数据类型如图7-13所示;该项目连接的是MySQL数据库,需要的配置文件为hibernate.cfg.xml,将【例7-8】代码简单修改即可;加载该配置文件的类为HibernateSessionFactory,代码如【例7-9】所示;为了实现对数据的操作封装一个类ManyManyDAO,代码如【例7-24】所示;为了对上述关联关系进行测试编写一个测试类TestBean,代码如【例7-25】所示,可以编译JSP页面对以上关联关系进行测试;项目提供一个JSP页面(index.jsp)把测试数据显示出来,代码如【例7-26】所示,在该页面中调用TestBean类。项目的文件结构如图7-14所示。;图7-11 items表的字段以及数据类型;图7-12 orders表的字段以及数据类型;7-13 selecteditems表的字段以及数据类型;图7-14项目文件结构图;;【例7-22】Items对应的映射文件(Items.hbm.xml) ?xml version=1.0 encoding=UTF-8? !DOCTYPE hibernate-mapping PUBLIC -//Hibernate/Hibernate Mapping DTD 3.0//EN /hibernate-mapping-3.0.dtd hibernate-mapping package=PO class name=Items table=items id column=ID name=id type=integer generator class=identity/ /id property name=itemno column=ITEMNO type=string/ property name=itemname column=ITEMNAME type=string/ !--映射Items到Orders的多对多关联。-- set name=orders table=selecteditems cascade=save-update inverse=true lazy=true key column=ITEMID/ many-to-many class=PO.Orders column=ORDERID/ /set /class /hibernate-mapping;【例7-23】Orders的代码(Orders.java) package PO; import java.io.Serializable; import java.util.*; public class Orders implements Serializable{ private Integer id; private String orderno; private Double money; private Set items = new HashSet(); … } PO对象Orders对应的映射文件Orders.hbm.xml代码如【例7-24】所示。;【例7-24】Orders对应的映射文件(Orders.hbm.xml) ?xml version=1.0 encoding=UTF-8? !DOCTYPE hibernate-mapping PUBLIC -//Hibernate/Hibernate Mapping DTD 3.0//EN /hibernate-mapping-3.0.dtd hibernate-mapping package=PO class name=Orders table=orders id column=ID name=id type=integer generator class=identity/

文档评论(0)

1亿VIP精品文档

相关文档