欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    J2EE应用持久化和Hibernate.ppt

    • 资源ID:70791230       资源大小:252KB        全文页数:46页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    J2EE应用持久化和Hibernate.ppt

    第六讲 数据库连接和Hibernate(三)Hibernate开发实例内容安排nMyEclipse 开发开发Hibernate过程过程n三种映射关系实例MyEclipse 开发Hibernate过程n创建Web/JAVA 工程n增加Hibernate功能qMyEclipse-Add Hibernate Capabilitiesn确定数据库连接细节q需要实现创建DB DriverqWindow-Show View-Other-DB BrowserHibernate反向工程生成映射文件和类文件nAbstractAddr.javanAddr.javanAddrDAO.java一对一关联Userinfo表结构ncreate table USERINFOn(n USERID VARCHAR2(20)not null,n USERNAME VARCHAR2(20),n AGE VARCHAR2(20),n ADDRID VARCHAR2(20),n PRIMARY KEY (USERID),n CONSTRAINT addrid FOREIGN KEY(ADDRID)REFERENCES addr(ADDRID)n)Addr表结构ncreate table ADDRn(n ADDRID VARCHAR2(20)not null,n LOCATION VARCHAR2(20),n POSTCODE VARCHAR2(20),n PRIMARY KEY (ADDRID)n)Addr POJOnpublic class Addr implements java.io.Serializable n/Fieldsnprivate String addrid;nprivate String location;nprivate String postcode;nAddr映射描述nn n n n n n n n n n nUserinfo POJOnpublic class Userinfo implements java.io.Serializable n/Fieldsnprivate String userid;nprivate Addr addr;nprivate String username;nprivate String age;nUserinfo映射文件描述 关联查询nSession session=HibernateSessionFactory.getSession();nUserinfo u=(Userinfo)session.load(Userinfo.class,1001);nSystem.out.println(u.getUsername();nSystem.out.println(u.getAddr().getLocation();nHibernateSessionFactory.closeSession();关联保存nUserinfo u=new Userinfo();nu.setUserid(1002);nu.setUsername(JONES);nu.setAge(26);n/级联保存addr的信息,而不再需要单独save方法,hibernate会自动save addr的信息nAddr addr=new Addr();naddr.setAddrid(SHANGHAI002);naddr.setLocation(BAOSHANLU);naddr.setPostcode(200852);nu.setAddr(addr);nTransaction t=session.beginTransaction();nsession.save(u);mit();多对一关联多对一表结构create table EMPLOYEE(EMPID VARCHAR2(50)not null,ENAME VARCHAR2(20),SAL VARCHAR2(20),JOB VARCHAR2(20),DEPTID VARCHAR2(20);create table DEPARTMENT(DEPTID VARCHAR2(50)not null,DNAME VARCHAR2(20),LOCATION VARCHAR2(20);或:Department.javaprivate String deptid;private String dname;private String location;private Set emps;public Set getEmps()return emps;public void setEmps(Set emps)this.emps=emps;.nnn或nn nEmployee.javaprivate String empid;private String ename;private String sal;private String job;private Department dept;public Department getDept()return dept;public void setDept(Department dept)this.dept=dept;级联保存Session s=HibernateSessionFactory.getSession();Department d=new Department();d.setDeptid(1001);d.setDname(R&D);d.setLocation(NEW YORK);Set emps=new HashSet();Employee e1=new Employee(7001,zhangshan,5000,CLERK);Employee e2=new Employee(7002,lishi,6000,SALESMAN);Employee e3=new Employee(7003,wangwu,7000,MANAGER);emps.add(e1);emps.add(e2);emps.add(e3);d.setEmps(emps);Transaction t=s.beginTransaction();s.save(d);mit();HibernateSessionFactory.closeSession();级联删除Session s=HibernateSessionFactory.getSession();Department d=new Department();d.setDeptid(1001);Set emps=new HashSet();Employee e1=new Employee(7001);Employee e2=new Employee(7002);Employee e3=new Employee(7003);emps.add(e1);emps.add(e2);emps.add(e3);d.setEmps(emps);Transaction t=s.beginTransaction();s.delete(d);mit();HibernateSessionFactory.closeSession();级联查询Session s=HibernateSessionFactory.getSession();Query q=s.createQuery(select e from Employee e where e.empid=7001);List list=q.list();for(int i=0;ilist.size();i+)Employee e=(Employee)list.get(i);Department d=e.getDept();System.out.println(d.getDname();HibernateSessionFactory.closeSession();多对多关联多对多表结构create table COURSE(COURID VARCHAR2(50)not null primary key,COURNAME VARCHAR2(20);create table STUDENT(STUID VARCHAR2(50)not null primary key,STUNAME VARCHAR2(20);create table STUCOUR(STUID VARCHAR2(50)not null,COURID VARCHAR2(50)not null);Student.javanprivate String stuid;nprivate String stuname;nprivate Set cours;Course.javanprivate String courid;nprivate String courname;nprivate Set stus;Stucour.javanprivate StucourId id;主键类StucourIdnprivate String stuid;nprivate String courid;Student.xml级联保存Session s=HibernateSessionFactory.getSession();Student stu=new Student();stu.setStuid(1002);stu.setStuname(zhangshan);Set cours=new HashSet();Course c1=new Course(9001,English);Course c2=new Course(9002,phylisc);cours.add(c1);cours.add(c2);stu.setCours(cours);Transaction t=s.beginTransaction();s.save(stu);mit();HibernateSessionFactory.closeSession();级联查询Session s=HibernateSessionFactory.getSession();Student stu=new Student();stu=(Student)s.get(Student.class,1001);System.out.println(stu.getStuid()+:+stu.getStuname();Set cours=stu.getCours();Iterator it=cours.iterator();while(it.hasNext()Course c=(Course)it.next();System.out.println(c.getCourname();HibernateSessionFactory.closeSession();删除学生Session s=HibernateSessionFactory.getSession();Student stu=new Student();stu.setStuid(1001);Transaction t=s.beginTransaction();s.delete(stu);mit();HibernateSessionFactory.closeSession();自动删除关联表中的信息删除学生及关联课程在删除学生信息的同时,删除关联课程信息Session s=HibernateSessionFactory.getSession();Student stu=new Student();stu.setStuid(1001);Set cours=new HashSet();Course c1=new Course(9001);Course c2=new Course(9002);cours.add(c1);cours.add(c2);stu.setCours(cours);Transaction t=s.beginTransaction();s.delete(stu);mit();HibernateSessionFactory.closeSession();删除学生及关联课程删除学生信息,同时查询该学生对应的所有课程信息,一并删除Session s=HibernateSessionFactory.getSession();Student stu=new Student();stu.setStuid(1001);Query q=s.createQuery(select c from Course c,Stucour sc +where c.courid=sc.id.courid and sc.id.stuid=1001);List list=q.list();Set cours=new HashSet();for(int i=0;ilist.size();i+)cours.add(list.get(i);stu.setCours(cours);Transaction t=s.beginTransaction();s.delete(stu);mit();HibernateSessionFactory.closeSession();

    注意事项

    本文(J2EE应用持久化和Hibernate.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开