




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MyEclipse中hibernate反向工程实例(一对多关联)1、数据库设计实例对象为工作人员和部门,关系为一个部门对应多个工作人员,一个工作人员只属于一个部门见表语句如下:(先用Navicat建的表,然后导出的sql语句),数据库名称为testSET FOREIGN_KEY_CHECKS=0;DROP TABLE IF EXISTS t_department;CREATE TABLE t_department ( id int(11) NOT NULL auto_increment, departmentname varchar(40) NOT NULL, departmentlocation varchar(100) NOT NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;DROP TABLE IF EXISTS t_user;CREATE TABLE t_user ( id int(11) NOT NULL auto_increment, username varchar(20) NOT NULL, password varchar(20) NOT NULL, departmentid int(11) NOT NULL, PRIMARY KEY (id), KEY departmentid (departmentid), CONSTRAINT departmentid FOREIGN KEY (departmentid) REFERENCES t_department (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;2、使用MyEclipse反向工程生成配置文件和POJO类第一步:配置数据源1、打开MyEclipse,新建一个web工程,这里命名为hibernate_demo2、打开数据库设置器:依次单击【window】-【Show View】-【Other】 如下图所示:3、在弹出的窗口ShowView中选择DB Browser,如下图所示:4、在DB Browser窗口中,选择显示的图标,单击右键执行新建命令,如下图示5、弹出Database Driver对话框,在此会要求我们配置数据库的相关信息,具体设置如下图所示,设置完成,单击Finish.【第二步】引入hibernate配置文件1、 添加hibernate包:选中我们的Web工程,依次单击鼠标右键-MyEclipse-Add Hibernate Capabilities 如下图所示:2、 在弹出的窗口中做如下设置:【Next】,创建hibernate的配置文件【Next】,指明hibernate与数据库的连接【Next】,创建HibernateSessionFactory类,用来获得session 。如果前面没有设置包名,要先单击New创建新的包。单击【Finish】按钮,页面效果如下图所示:接下来要给hibernate.cfg.xml文件添加属性:在properties处选择Add,如下图所示:单击【Add】,在Hibernate Properties Wizard页面填入如下图所示信息,最后单击Ok。show_sql:默认为false,如果为true,表示在程序运行时,会在控制台输出SQL语句,这有利于跟中Hibernate的运行状态。在开发和测试阶段,可以将该属性设置为true,以便跟踪、调试程序,在应用发布以后 ,应将该属性值设置为false,以减少应用的输出信息,提高运行性能。【第三步】添加hibernate映射文件和POJO类1、新建com.lqh.beans包2、在前面设置的数据源上找到我们要操作的表:在DB Browser中选中新建的数据源,单击鼠标右键并选择open connection.输入数据库的用户名和密码,以创建连接:找到刚才新建的test数据库,然后是TABLE,如下图所示:生成POJO:点击Next,配置映射类型(暂时未用到)点击Next,配置反向工程细节点击Finish,即可完成,生成的映射文件以及POJO类如下:User.javapackage com.lqh.beans;/* * User entity. author MyEclipse Persistence Tools */public class User implements java.io.Serializable / Fieldsprivate Integer id;private Department department;private String username;private String password;/ Constructors/* default constructor */public User() /* full constructor */public User(Department department, String username, String password) this.department = department;this.username = username;this.password = password;/ Property accessorspublic Integer getId() return this.id;public void setId(Integer id) this.id = id;public Department getDepartment() return this.department;public void setDepartment(Department department) this.department = department;public String getUsername() return this.username;public void setUsername(String username) this.username = username;public String getPassword() return this.password;public void setPassword(String password) this.password = password;Department.javapackage com.lqh.beans;import java.util.HashSet;import java.util.Set;/* * Department entity. author MyEclipse Persistence Tools */public class Department implements java.io.Serializable / Fieldsprivate Integer id;private String departmentname;private String departmentlocation;private Set users = new HashSet(0);/ Constructors/* default constructor */public Department() /* minimal constructor */public Department(String departmentname, String departmentlocation) this.departmentname = departmentname;this.departmentlocation = departmentlocation;/* full constructor */public Department(String departmentname, String departmentlocation,Set users) this.departmentname = departmentname;this.departmentlocation = departmentlocation;this.users = users;/ Property accessorspublic Integer getId() return this.id;public void setId(Integer id) this.id = id;public String getDepartmentname() return this.departmentname;public void setDepartmentname(String departmentname) this.departmentname = departmentname;public String getDepartmentlocation() return this.departmentlocation;public void setDepartmentlocation(String departmentlocation) this.departmentlocation = departmentlocation;public Set getUsers() return this.users;public void setUsers(Set users) this.users = users;编写测试类代码,如下:package com.lqh.test;import org.hibernate.Session;import org.junit.Test;import com.lqh.beans.Department;import com.lqh.beans.User;import com.lqh.utils.HibernateSessionFactory;public class HibernateTest /* * 测试保存部门 */Testpublic void testSaveDepartment() Department department = new Department();department.setDepartmentlocation(清河小营东路);department.setDepartmentname(北京信息科技);Session session = HibernateSessionFactory.getSession();session.beginTransaction();session.save(department);session.getTransaction().commit();session.close();/* * 测试保存用户,该用户已存在对应Department */Testpublic void testSavaUser() Session session = HibernateSessionFactory.getSession();session.beginTransaction();Department department = (Department) session.load(Department.class, 1);User user = new User();user.setUsername(hehe);user.setPassword(123455);user.setDepartment(department);session.save(user);session.getTransaction().commit();session.close();/* * 测试保存用户,该用户对应的Department未存在数据库中* 此处注意,要将User.hbm.xml中的cascade设为all */Testpublic void testSaveUserAndDepartment() Session session = HibernateSessionFactory.getSession();session.beginTransaction();Department department = new Dep
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 材料疲劳损伤累积分析数据统计分析重点基础知识点
- 火灾逃生-应急预案演练(3篇)
- 蓄电池火灾处置应急预案(3篇)
- 行政程序法中的公众参与机制试题及答案
- 绿城火灾应急预案(3篇)
- 火灾的应急预案出题(3篇)
- 针对社区发展的个人思考高考作文试题及答案
- 企业火灾疏散应急预案(3篇)
- 火灾预案应急响应分级(3篇)
- 信息处理与用户体验试题及答案
- 广西专升本(高等数学)模拟试卷2(共198题)
- 2025年陕西汉水电力实业(集团)有限责任公司招聘笔试参考题库附带答案详解
- 穴位埋线治疗
- 毕业设计(论文)-智能物料搬运小车设计
- 《基础护理学》第七版考试题库大全-上部分(600题)
- DBJ45 024-2016 岩溶地区建筑地基基础技术规范
- LY/T 3419-2024自然教育评估规范
- 消防装备维护与保养
- 2025年度新能源车充电桩建设承包挂靠合同范本3篇
- 口腔科耗材管理制度
- 《律师事务所管理办法》(全文)
评论
0/150
提交评论