myeclipse hibernate反向工程图文教程

合集下载

SSH2整合实例详细教程

SSH2整合实例详细教程

本次教程是SSH2的环境搭建,主要用到的技术是struts2.0+hibernate3.2+spring2.0,这种架构在现在很流行的,也是很多高校学生做毕业设计的架构,今天我们就用这种架构做一个简单的实例,详细的步骤,在于抛砖引玉,给大家一点启发。

一、创建数据库的时候会创建出联合主键<Composite-id>。

二、项目创建1、打开MyEclipse,点击File,指向New,点击Web Project。

2、输入工程名SSH,J2EE Specification Level为Java EE 5.0,点Finish即可创建完项目。

三、添加hibernate环境1、右击刚建立的SSH项目,指向MyEclipse,点击Add Hibernate Capabilities。

2、出现如下对话框之后,选择要用到的Hibernate3.2,以及所用到的包,选择Copy checked Library Jars to project folder and add to build-path,点击Next。

3、到了这一步,按默认设置,点击Next。

4、取消Specify database connection details的选择,再点击Next。

5、取消Create SessionFactory class选择,最后点击Finish。

这样一些有关hibernate的jar包点导进来了,以及建了一个hibernate.cfg.xml文件。

导入前:导入后:四、添加spring环境1、和添加hibernate环境的方法大致相同,右击SSH项目,指向MyEclipse,点击Add spring Capabilities。

2、选择要用到的Spring 2.0,勾选用到的库,注意还要勾选Spring 2.0 Web Libraries的库,一共是勾选了5个库的。

再选择Copy checked Library contents to project folder(TLDs always copied),点击Next。

Java Web编程实战宝典(JSP+Servlet+Struts 2+Hibernate+Spri

Java Web编程实战宝典(JSP+Servlet+Struts 2+Hibernate+Spri

20.2 掌握HQL和SQL技术
20.4 实战练习
21.1 什么是事务
21.3 应用查询缓存 (Query Cache)
21.5 学习过滤器
第3篇 Hibernate篇
21 Hibernate的高级技术
21.2 学习锁(Locking) 21.4 学习拦截器和事件
21.6 小结
第3篇 Hibernate 篇
3.4 其他客户端技术
3.6 学习AJAX技术
第1篇 Web开发基础篇
3.7 小 结
3.8 实 战练习
3 Web开发必会的客户端技 术
4.1 编写Servlet的 Helloworld程序 4.3 掌握
HttpServletResponse类
4.5 处理Cookie
第1篇 Web开发基础篇
4 Java Web的核心技术——Servlet
6.7 实战练习
第2篇 Struts 2篇
02
第2篇 Struts 2篇
7 编写Struts 2第一个程序
10 Struts 2的 类型转换
8 Struts 2进 阶
11 Struts 2的 输入校验
9 Struts 2的 拦截器
12 文件的上传 和下载
第2篇 Struts 2篇
14 Struts 2的标 签库
1.12 实战练习
1.11 小结
第1篇 Web开发基础篇
1 搭建开发环境
1.8 在Eclipse IDE for Java EE Developers中配置 Tomcat
1.9 下载与安装MySQL 5数据库
1.10 下载与安装数据库 客户端软件SQLyog
2.1 Web技术的发展

hibernate核心,一对多,多对多映射讲解,看了就完全搞明白了

hibernate核心,一对多,多对多映射讲解,看了就完全搞明白了
• 增加山南区下属的三个街道:“和平路” 、“八一路”和“五四大道”
在many一方删除数据1
• 删除“五四大道”
inverse设为true,由many一方删除 从one一方去“删除”, Hibernate只是执行了 问题出在配置文件上 update语句。还是未删 没有配置set节点的inverse属性 除成功! 根本没有执行 Delete语句,数据 没有被删除!
– 配置Hibernate多对多关联,实现某OA系统项 目和人员对照关系的管理
本章目标
• 掌握单向many-to-one关联 • 掌握双向one-to-many关联 • 掌握many-to-many关联
实体间的关联
• 单向多对一
tblJd.getQx().getQxname();
• 单向一对多
TblJd jd = (TblJd)tblQx.getJds().get(0); jd.getJdname(); tblQx.getJds.add(jd);
小结
• 在租房系统中,房屋信息(Fwxx)与用户 (User)间也是多对一关系。如何配置映 射文件,使之可以通过下面的代码输出房 屋信息和发布该信息的用户名称? Fwxx fwxx = (Fwxx)super.get(Fwxx.class,1);
System.out.println( fwxx.getTitle() + "," + fwxx.getUser.getUname());
inverse是“反转”的意思,表示关联关系的控制权。 为true,表示由对方负责关联关系的添加和删除; 执行了delete语句, 为false,表示由自己负责维护关联关系。 删除成功
• 在many一方删除数据的正确做法:

Eclipse下配置和使用Hibernate Tools

Eclipse下配置和使用Hibernate Tools

Eclipse下配置和使用Hibernate Tools文章分类:Web前端关键字: hibernate tools eclipse 插件配置Hibernate Tools可以通过访问已经建立好的数据库以反向工程方式生成POJO文件。

今天就来说一下如何使用Hibernate Tools来生成POJO。

1、首先,要去Hibernate的网站下载这个工具包。

一个大约14M的ZIP压缩文件。

/sourceforge/jboss/HibernateTools-3.2.4.Beta1-R200810311334.zip2、解压缩下载好的文件,释放出features和plugins这两个文件夹和其中的内容。

完成后将这两个文件夹复制到Eclipse的目录下(这两个文件夹在Eclipse中是默认存在的,直接复制就行了)。

3、到这步为止HibernateTools的安装就算结束了,下面开始配置和具体使用。

一开始选择工程下的SRC 目录,然后右键New->Other->Hibernate->Hibernate Configuration File(cfg.xml),在弹出的窗口中选择Next ,进入到下面的选项中。

注意,这个地方有几项是一定要填写的。

他们分别是Database dialect(数据库方言)、Driver class(数据库驱动)、Connection URL(链接字符串)以及Username和Password(访问数据库的用户名和密码)。

上图图中使用的是MySQL5数据库的配置,vane是我机器中已经创建好的数据库。

使用其他数据库的时候会略有不同。

填好之后选择Finish。

4、选择Eclipse的下拉菜单Window->Show View->Other->Hibernate->Hibernate Configurations,现在就可以查看Hibernate的配置窗口了。

hibernate框架的工作原理

hibernate框架的工作原理

hibernate框架的工作原理Hibernate框架的工作原理Hibernate是一个开源的ORM(Object-Relational Mapping)框架,它将Java对象映射到关系型数据库中。

它提供了一种简单的方式来处理数据持久化,同时也提供了一些高级特性来优化性能和可维护性。

1. Hibernate框架的基本概念在开始讲解Hibernate框架的工作原理之前,需要先了解一些基本概念:Session:Session是Hibernate与数据库交互的核心接口,它代表了一个会话,可以用来执行各种数据库操作。

SessionFactory:SessionFactory是一个线程安全的对象,它用于创建Session对象。

通常情况下,应用程序只需要创建一个SessionFactory对象。

Transaction:Transaction是对数据库操作进行事务管理的接口。

在Hibernate中,所有对数据库的操作都应该在事务中进行。

Mapping文件:Mapping文件用于描述Java类与数据库表之间的映射关系。

它定义了Java类属性与数据库表字段之间的对应关系。

2. Hibernate框架的工作流程Hibernate框架主要分为两个部分:持久化层和业务逻辑层。

其中,持久化层负责将Java对象映射到数据库中,并提供数据访问接口;业务逻辑层则负责处理业务逻辑,并调用持久化层进行数据访问。

Hibernate框架的工作流程如下:2.1 创建SessionFactory对象在应用程序启动时,需要创建一个SessionFactory对象。

SessionFactory是一个线程安全的对象,通常情况下只需要创建一个即可。

2.2 创建Session对象在业务逻辑层需要进行数据访问时,需要先创建一个Session对象。

Session是Hibernate与数据库交互的核心接口,它代表了一个会话,可以用来执行各种数据库操作。

2.3 执行数据库操作在获取了Session对象之后,就可以执行各种数据库操作了。

hibernate实验手册

hibernate实验手册

目录新建数据库和表在数据库test 中创建student 表格创建 HibernateDemo Java Project新建一个Java Project命名为:HibernateDemo添加Hibernate Capabilities 到现有项目像添加Spring和Struts支持一样,给项目添加Hibernate Capabilities点击”next”再点击”next”选择好“DB Driver”点击“next”新建一个package得到:点击“Finish”使用反向工程快速生成Java POJO 类,映射文件和DAO找到DB Browser选择我们创建的student表右键点击出现下图:选择“Hibernate Reverse Engineering”出现:在Java Package那里通过“Browser”找到项目的dao包按顺序将要打勾的地方打上勾点击1 处的Java src folder 最右侧的Browse 按钮,查看可用的Hibernate 项目以及源码目录,这些目录将用来存放最终生成的文件。

这里选中HibernateDemo 项目中的src 文件夹.。

点击2 处的Java package 输入框右侧的Browse 按钮,选中dao 包,或者新建一个其它的包来存放生成的代码所在的包。

将3 中的两个复选框选中,这样将为每个数据库表生成Hibernate 映射文件(*.hbm.xml),并在hibernate.cfg.xml 中将新生成的映射文件加入。

在4 中选中复选框Java Data Object(POJO <> DB Table),这样为映射文件和表格生成对应的数据对象(POJO)。

按照图示选中5 处的复选框,这样将能生成普通的DAO 类。

点击“Finish”看到:编写测试类在项目文件夹中新建一个类:学写第一个HQL语句如下图在HQL 1 中输入“From Student s where s.id = 1”。

eclipse中,由数据库反向生成hibernate实体类(图解)

eclipse中,由数据库反向生成hibernate实体类(图解)

Eclipse中反向生成hibernate实体类+jpa注释2011-01-24一、配置数据源,sqlServer2000数据库1、菜单栏“Window”……,截图如下:2、Database Connecttions右击“new”,选择要使用的数据库,本例中是SQL Server,给数据源随便命名,此处为MedicalInfoDB,然后单击“next”,截图如下:3、单击Drivers一行最后那个按钮,配置数据库驱动:配置驱动类和url等……最后点击“OK”,截图如下:4、点击“OK”之后,配置“General”选项卡,“Optional”选项卡不用管,截图如下,5、然后点击“Next”,核对一下数据源信息,点击“Finish”。

截图如下:6、二、反向生成实体类1、打开eclipse,在顶部菜单栏右击选择“Customize Per……”,截图如下:2、选择之后弹出如下选项卡,选择“Command Groups A vailability”,在下面勾选“Hibernate Code Generation”,然后点击“OK”,截图如下:3、点击“OK”之后会在菜单栏中显示如下图所示最后一个快捷按钮:4、点击按钮右边的小箭头,选择下拉菜单中第二项“Hibernate Code Generation……”,截图如下:5、选中之后,弹出如下窗口,右击“New”一个New_configuration:6、左键单击选中新建的New_configuration,右边出现好多选项卡,截图如下:参数说明:(1)、没用;(2)、选择保存……的位置。

(3)、如果反向生成实体类,则将勾上。

保存实体类的文件夹的位置(可不填写),Reveng.xml最右边的Setup……,点击后“新建”或者“使用已存在的”reveng.xml。

选择保存reveng.xml文件的项目的包,点击“Next”,然后点击,单击选中要使用的数据库,或者数据库的某些表(包括表和视图!!!),点击,然后“Finish”。

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

一、新建项目1.新建maven项目New ->project选择Maven projectnext在filter输入webapp选择maven-archetype-webappGroup id输入inscribe,artifact id输入farsighted二、添加struts2框架1.添加struts2支持项目上点右键->myeclipse->add struts capabilities点选struts2.1和/*只勾选struts2 core lib启动tomcat,在地址栏输入localhost:8088/farsighted出现如下界面2.添加action类New ->source folder输入src/main/javaNew ->classPackage输入org.inscribe.farsighted.action,name输入LoginActionLoginAction.javapackage org.inscribe.farsighted.action;import org.apache.struts2.convention.annotation.Action;import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result;import com.opensymphony.xwork2.ActionSupport;/*** @author steve frank**/@ParentPackage("struts-default")public class LoginAction extends ActionSupport {private String name;private String password;public String getName() {return name;}public void setName(String name) { = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Action(value = "login", results = {@Result(name = INPUT, location = "/WEB-INF/content/fail.jsp"),@Result(name = SUCCESS, location = "/WEB-INF/content/success.jsp") }) public String execute() {if (name.equals("steve") && password.equals("123"))return SUCCESS;elsereturn INPUT;}}Index.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'index.jsp' starting page</title></head><body><s:form action="login"><s:textfield name="name" value="steve"></s:textfield><s:textfield name="password" value="123"></s:textfield><s:submit></s:submit></s:form></body></html>success.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'success.jsp' starting page</title></head><body><s:text name="password" /><hr /><s:property value="password" /></body></html>fail.jsp<body>登录失败,用户名或密码错误.</body>三、添加hibernate框架1.添加hibernate支持右键->myeclipse->add hibernate capabilities点选hibernate 3.3 勾选enable hibernate annotations support勾选hibernate 3.3 annotations&entity manager,hibernate 3.3 core lib,hibernate 3.3 advanced support lib点选copy checked library jars to folder and add to build-path点选newFolder :src/main/resources勾选open configuration file选择db driver:mysql去掉勾,不创建hibernatesessionfactory四、添加spring框架1.添加spring支持项目右键->myeclipse->add spring capabilities点选spring3.0勾选spring 3.0 core;spring 3.0 aop;spring3.0 persistence core; spring3.0 persistence jdbc; 勾选copy checked library contents to project folder采取默认,enable aop,new applicationcontext.xml不创建sessionfactory2.applicationContext.xml文件配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd/schema/context/schema/context/spring-context.xsd/schema/aop/schema/aop/spring-aop.xsd/schema/tx/schema/tx/spring-tx.xsd"> <bean id="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBea n"><property name="configLocation" value="classpath:hibernate.cfg.xml"></property><property name="packagesToScan" value="org.inscribe.farsighted.model" /> </bean><!-- 使用annotation 自动注册bean,并检查@Controller, @Service, @Repository注解已被注入--><context:component-scan base-package="org.inscribe.farsighted" /><!-- 配置事务管理--><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean><!-- 配置注解实现管理事务(cglib:proxy-target-class="true")--><tx:annotation-driven transaction-manager="transactionManager"proxy-target-class="true" /></beans>3.hibernate.cfg.xml修改<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse Hibernate Tools. --><hibernate-configuration><session-factory><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="connection.url">jdbc:mysql://localhost:3306/test</property><property name="ername">root</property><property name="connection.password">admin</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="myeclipse.connection.profile">MYSQL</property><!-- <mapping class="org.inscribe.farsighted.model.Student" /> --><!-- Connection Pooling Info --><property name="initialSize">5</property><property name="maxActive">100</property><property name="maxIdle">30</property><property name="maxWait">500</property><property name="defaultAutoCommit">false</property></session-factory></hibernate-configuration>4.web.xml文件配置<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_0.xsd"><display-name></display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:applicationContext*.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class ></listener><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter><filter-name>Set Character Encoding</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>Set Character Encoding</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>五、类的添加1.hibernate反向生成students表右键->hibernate reverse engineering选择package : com.inscribe.farsighted.model勾选create pojo<>db->点选add hibernate mapping annotations to pojo;勾选update hibernate configuration with mapping resource location勾选java data access object(dao)->勾选generate precise findby methods;点选sping daoId generation :native2.添加service接口package org.inscribe.farsighted.service;import org.inscribe.farsighted.model.Student;public interface StudentService {public Student findById(Integer id);}3.添加service实现类package org.inscribe.farsighted.service.impl;import javax.annotation.Resource;import org.inscribe.farsighted.model.Student;import org.inscribe.farsighted.model.StudentDAO;import org.inscribe.farsighted.service.StudentService;import org.springframework.stereotype.Service;@Servicepublic class StudentServiceImpl implements StudentService {@Resourceprivate StudentDAO studentDAO;@Overridepublic Student findById(Integer id) {// TODO Auto-generated method stubreturn studentDAO.findById(id);}}4.添加测试类package org.inscribe.farsighted;import org.inscribe.farsighted.model.Student;import org.inscribe.farsighted.service.StudentService;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");StudentService service = (StudentService) context.getBean("studentServiceImpl");Student s=service.findById(1);System.out.println(s.getName());}}5.WEB-INF下新建Folder包结构如下6.修改输出目录Build path->configure build pathOut folder统一改default:Webapp/src/main/webapp/WEB-INF/classes更改如果无效,在pom.xml中<build>……</build>添加<sourceDirectory>src/main/java</sourceDirectory><resources><resource><directory>src/main/resources</directory></resource></resources><outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>7.添加struts-spring支持(action注解配置支持)Build path->add librariesMyeclipse libraries勾选struts 2 spring libraries8.修改struts.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration2.1//EN" "/dtds/struts-2.1.dtd"><struts><!-- 开启使用开发模式,详细错误提示--><constant name="struts.devMode" value="true" /><!-- 将对象交给spring管理--><constant name="struts.objectFactory" value="spring" /><!-- 指定资源编码类型--><constant name="struts.i18n.encoding" value="UTF-8" /><!-- 指定每次请求到达,重新加载资源文件--><constant name="struts.i18n.reload" value="true" /><!-- 指定每次配置文件更改后,自动重新加载--><constant name="struts.configuration.xml.reload" value="false" /><!-- 国际化资源文件--><constant name="struts.custom.i18n.resources" value="content/Language" /><!-- 浏览器缓存--><constant name="struts.serve.static.browserCache" value="false" /><!-- 默认后缀名--><constant name="struts.action.extension" value="do,action,jhtml,," /><!-- Struts Annotation --><constant name="actionPackages" value="com.frank.action" /> </struts>9.在LoginAction.java中添加调用StudentService@Resourceprivate StudentService studentService;测试Student s = studentService.findById(1);System.out.println(s.getName());10.success.jsp中添加<hr /> ${password}11.启动tomcat,地址栏输入http://localhost:8088/farsighted/点击submit效果如下包结构如下12.测试完成.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Myeclipse6.0 的hibernate反向工程
第一步:建DB Browser
方法一:Window -> Open Persipective -> MyEclipse Database Explorer
以后步骤同二
方法二: window / show view /other 选择如下图
最后,点击OK,在工作空间上将会出现一个DB Browser的配置页面,在配置页面空白处,右键,选择New按钮
在弹出的对话框当中配置数据库连接
点完成即可
点击my_driver 可以new 表等
点connect to my_driver 可以new sql编辑器执行sql: 本次执行sql 例子如下:
create table testUser(
id int not null,
username varchar(200),
age int,
primary key ("ID")
)
点击左上绿色按钮即可执行sql
第二步:
新建java工程(简单省略了),
初始化Hibernate开发环境
点击工程鼠标右键
得到下图:
Next (选择刚才你建立的db browser)
Next 新进包名如图
点击完成
新的工程目录结构如下图所示:
我们可以看到,系统自动给我们生成了HibernateSessionFactory.java及Hibernate.cfg.xml配置文件,并将Hibernate环境所需要的外部包文件也加入到CLASSPATH当中。

第三步:通过反向工程,生成POJO及hbm映射文件:
在DB Browser配置界面,入进hibernate数据库,如下图所示:
找到该用户下刚才所建的表
将弹出如下的对话框,在Java package当中输入产生的hibernate映射的JavaBean为com.gjrencai.model,详细请参考下图
点击Next>按钮,在新的对话框当中,在ID Generator的选项当中选择increment,表示ID为数据库自增长类型。

点击Next>,可以修改类名或列名。

(可以加包名等)
点击完成回到java项目查看
第四步完成测试例子。

相关文档
最新文档