跟我学Hibernate框架技术在容器外实现一对多的关联

上传人:M****1 文档编号:553688605 上传时间:2023-07-11 格式:DOC 页数:34 大小:796.16KB
返回 下载 相关 举报
跟我学Hibernate框架技术在容器外实现一对多的关联_第1页
第1页 / 共34页
跟我学Hibernate框架技术在容器外实现一对多的关联_第2页
第2页 / 共34页
跟我学Hibernate框架技术在容器外实现一对多的关联_第3页
第3页 / 共34页
跟我学Hibernate框架技术在容器外实现一对多的关联_第4页
第4页 / 共34页
跟我学Hibernate框架技术在容器外实现一对多的关联_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《跟我学Hibernate框架技术在容器外实现一对多的关联》由会员分享,可在线阅读,更多相关《跟我学Hibernate框架技术在容器外实现一对多的关联(34页珍藏版)》请在金锄头文库上搜索。

1、杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料目 录1.1 在容器外实现“一对多”的关联(MySQL数据库系统)21.1.1 分析“一对多”的关联21.1.2 在容器外实现本示例的“一对多”的关联31.1.3 映射前面的CAT数据库表-声明它的映射元数据71.1.4 测试本示例的应用效果121.1.5 实现“一对多”的关联映射141.1.6 实现Person与Cat之间的“一对多”的关联201.1.7 体验延迟加载271.1 在容器外实现“一对多”的关联(MySQL数据库系统)1.1.1 分析“一对多”的关联1、明确本问题是否能够采用“一对多”的关联PersonPerson_idCa

2、tcat_id一对多一对一2、检查数据库表是否满足“一对多”的关联的要求(主外键)满足“主外键”关系的设计要求。3、明确开发实现的基本步骤(1)首先单表映射(2)然后再进行关联映射1.1.2 在容器外实现本示例的“一对多”的关联1、添加CatPO类、包名称为com.px1987.sshwebcrm.dao.pobject并提供下面的成员属性private String cat_id;private String name;private char sex;private float weight;private int personID;为该Java类中包含每个变量的getter和setter

3、函数以及辅助函数equals等请见下面的代码package com.px1987.sshwebcrm.dao.pobject;public class CatPO private String cat_id;Overridepublic int hashCode() final int prime = 31;int result = 1;result = prime * result + (cat_id = null) ? 0 : cat_id.hashCode();result = prime * result + (name = null) ? 0 : name.hashCode();re

4、sult = prime * result + personID;result = prime * result + sex;result = prime * result + Float.floatToIntBits(weight);return result;Overridepublic boolean equals(Object obj) if (this = obj)return true;if (obj = null)return false;if (getClass() != obj.getClass()return false;CatPO other = (CatPO) obj;

5、if (cat_id = null) if (other.cat_id != null)return false; else if (!cat_id.equals(other.cat_id)return false;if (name = null) if (other.name != null)return false; else if (!name.equals(other.name)return false;if (personID != other.personID)return false;if (sex != other.sex)return false;if (Float.floa

6、tToIntBits(weight) != Float.floatToIntBits(other.weight)return false;return true;public String getCat_id() return cat_id;public void setCat_id(String cat_id) this.cat_id = cat_id;public String getName() return name;public void setName(String name) this.name = name;public char getSex() return sex;pub

7、lic void setSex(char sex) this.sex = sex;public float getWeight() return weight;public void setWeight(float weight) this.weight = weight;public int getPersonID() return personID;public void setPersonID(int personID) this.personID = personID;private String name;private char sex;private float weight;

8、private int personID;public CatPO() 1.1.3 映射前面的CAT数据库表-声明它的映射元数据1、下面为CatPO.hbm.xml映射文件的内容。该文件的内容如下: 注意:有的时候我们不用自己指明Java类中的某个属性与数据库表的字段的对应(上面的和标签),Hibernate缺省使用属性名作为字段(column)名并且两着保持数据类型的匹配。如果属性名与字段名不一样时,必须指明字段名,否则会出现下面的错误。2、在hibernate.cfg.xml文件中添加对Cat.hbm.xml的引用定义3、修改WebHibernateDAOInterface接口以增加对Ca

9、t的数据进行访问(1)doSelectDataFromDBCat和doInsertDataToDBCatpackage com.px1987.sshwebcrm.dao.inter;import java.util.ArrayList;import org.hibernate.HibernateException;public interface WebHibernateDAOInterface public ArrayList doSelectEBookDataFromDB(String selectHQL) throws HibernateException; public boolean

10、 doInsertEBookDataToDB() throws HibernateException,java.io.UnsupportedEncodingException; public boolean doInsertEBookDataToDBRelation() throws HibernateException,java.io.UnsupportedEncodingException; public ArrayList doSelectEBookDataFromDBRelation(String selectHQL) throws HibernateException; public

11、 ArrayList doSelectDataFromDBCat(String selectSQL) throws HibernateException; public boolean doInsertDataToDBCat () throws HibernateException,java.io.UnsupportedEncodingException;(2)修改实现类WebHibernateDAOBean以增加对它们的实现public ArrayList doSelectDataFromDBCat(String selectSQL) throws HibernateException Se

12、ssion session=null;Transaction tx=null; ArrayList totalCatList =new ArrayList();trysession = HibernateUtil.currentSession();tx= session.beginTransaction();List result = session.createQuery(selectSQL).list();for (int index = 0; index result.size(); index+) CatPO oneCat = (CatPO) result.get(index); totalCatList.add(oneCat);mit(); catch(HibernateException he) throw he;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 销售管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号