J2EE应用持久化和Hibernate.ppt

上传人:max****ui 文档编号:6357774 上传时间:2020-02-23 格式:PPT 页数:46 大小:273.55KB
返回 下载 相关 举报
J2EE应用持久化和Hibernate.ppt_第1页
第1页 / 共46页
J2EE应用持久化和Hibernate.ppt_第2页
第2页 / 共46页
J2EE应用持久化和Hibernate.ppt_第3页
第3页 / 共46页
点击查看更多>>
资源描述
第六讲 数据库连接和Hibernate 三 Hibernate开发实例 内容安排 MyEclipse开发Hibernate过程三种映射关系实例 MyEclipse开发Hibernate过程 创建Web JAVA工程增加Hibernate功能MyEclipse AddHibernateCapabilities 确定数据库连接细节需要实现创建DBDriverWindow ShowView Other DBBrowser 生成Hibernate cfg xml Hibernate反向工程 生成映射文件和类文件 Addr hbm xmlAbstractAddr javaAddr javaAddrDAO java 一对一关联 Userinfo表结构 createtableUSERINFO USERIDVARCHAR2 20 notnull USERNAMEVARCHAR2 20 AGEVARCHAR2 20 ADDRIDVARCHAR2 20 PRIMARYKEY USERID CONSTRAINTaddridFOREIGNKEY ADDRID REFERENCESaddr ADDRID Addr表结构 createtableADDR ADDRIDVARCHAR2 20 notnull LOCATIONVARCHAR2 20 POSTCODEVARCHAR2 20 PRIMARYKEY ADDRID AddrPOJO publicclassAddrimplementsjava io Serializable FieldsprivateStringaddrid privateStringlocation privateStringpostcode Addr映射描述 UserinfoPOJO publicclassUserinfoimplementsjava io Serializable FieldsprivateStringuserid privateAddraddr privateStringusername privateStringage Userinfo映射文件描述 关联查询 Sessionsession HibernateSessionFactory getSession Userinfou Userinfo session load Userinfo class 1001 System out println u getUsername System out println u getAddr getLocation HibernateSessionFactory closeSession 关联保存 Userinfou newUserinfo u setUserid 1002 u setUsername JONES u setAge 26 级联保存addr的信息 而不再需要单独save方法 hibernate会自动saveaddr的信息Addraddr newAddr addr setAddrid SHANGHAI002 addr setLocation BAOSHANLU addr setPostcode 200852 u setAddr addr Transactiont session beginTransaction session save u mit 多对一关联 多对一表结构 createtableEMPLOYEE EMPIDVARCHAR2 50 notnull ENAMEVARCHAR2 20 SALVARCHAR2 20 JOBVARCHAR2 20 DEPTIDVARCHAR2 20 createtableDEPARTMENT DEPTIDVARCHAR2 50 notnull DNAMEVARCHAR2 20 LOCATIONVARCHAR2 20 Department hbm xml 或 Department java privateStringdeptid privateStringdname privateStringlocation privateSetemps publicSetgetEmps returnemps publicvoidsetEmps Setemps this emps emps Employee hbm xml 或 Employee java privateStringempid privateStringename privateStringsal privateStringjob privateDepartmentdept publicDepartmentgetDept returndept publicvoidsetDept Departmentdept this dept dept 级联保存 Sessions HibernateSessionFactory getSession Departmentd newDepartment d setDeptid 1001 d setDname R 级联删除 Sessions HibernateSessionFactory getSession Departmentd newDepartment d setDeptid 1001 Setemps newHashSet Employeee1 newEmployee 7001 Employeee2 newEmployee 7002 Employeee3 newEmployee 7003 emps add e1 emps add e2 emps add e3 d setEmps emps Transactiont s beginTransaction s delete d mit HibernateSessionFactory closeSession 级联查询 Sessions HibernateSessionFactory getSession Queryq s createQuery selectefromEmployeeewheree empid 7001 Listlist q list for inti 0 i list size i Employeee Employee list get i Departmentd e getDept System out println d getDname HibernateSessionFactory closeSession 多对多关联 多对多表结构 createtableCOURSE COURIDVARCHAR2 50 notnullprimarykey COURNAMEVARCHAR2 20 createtableSTUDENT STUIDVARCHAR2 50 notnullprimarykey STUNAMEVARCHAR2 20 createtableSTUCOUR STUIDVARCHAR2 50 notnull COURIDVARCHAR2 50 notnull Student java privateStringstuid privateStringstuname privateSetcours Course java privateStringcourid privateStringcourname privateSetstus Stucour java privateStucourIdid 主键类StucourId privateStringstuid privateStringcourid Student xml Course hbm xml 级联保存 Sessions HibernateSessionFactory getSession Studentstu newStudent stu setStuid 1002 stu setStuname zhangshan Setcours newHashSet Coursec1 newCourse 9001 English Coursec2 newCourse 9002 phylisc cours add c1 cours add c2 stu setCours cours Transactiont s beginTransaction s save stu mit HibernateSessionFactory closeSession 级联查询 Sessions HibernateSessionFactory getSession Studentstu newStudent stu Student s get Student class 1001 System out println stu getStuid stu getStuname Setcours stu getCours Iteratorit cours iterator while it hasNext Coursec Course it next System out println c getCourname HibernateSessionFactory closeSession 删除学生 Sessions HibernateSessionFactory getSession Studentstu newStudent stu setStuid 1001 Transactiont s beginTransaction s delete stu mit HibernateSessionFactory closeSession 自动删除关联表中的信息 删除学生及关联课程 在删除学生信息的同时 删除关联课程信息Sessions HibernateSessionFactory getSession Studentstu newStudent stu setStuid 1001 Setcours newHashSet Coursec1 newCourse 9001 Coursec2 newCourse 9002 cours add c1 cours add c2 stu setCours cours Transactiont s beginTransaction s delete stu mit HibernateSessionFactory closeSession 删除学生及关联课程 删除学生信息 同时查询该学生对应的所有课程信息 一并删除Sessions HibernateSessionFactory getSession Studentstu newStudent stu setStuid 1001 Queryq s createQuery selectcfromCoursec Stucoursc wherec courid sc id couridandsc id stuid 1001 Listlist q list Setcours newHashSet for inti 0 i list size i cours add list get i stu setCours cours Transactiont s beginTransaction s delete stu mit HibernateSessionFactory closeSession
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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