- 浏览: 72039 次
- 性别:
- 来自: 东京
最新评论
-
JavaStudyEye:
讲解的很详细,呵呵
Ruby on Rails入门例子 -
greatwqs:
提供一个下载的例子岂不是更好?
Struts2.1+Spring3.0+JPA1.0(Hibernate3.3实现)例子 -
einsteinm:
老套路!
Struts+Spring+Hibernate添加用户例子 -
processlife:
个人感觉有些陈旧...
现在比较流行 appfuse 的ss ...
Struts+Spring+Hibernate添加用户例子 -
dhxyu:
看看你是怎么使用hibernate的
Struts+Spring+Hibernate添加用户例子
src\chap06app:
Main.java
package chap06app; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.AnnotationConfiguration; public class Main{ public static void main( String[] args ){ SessionFactory sf = new AnnotationConfiguration(). configure().buildSessionFactory(); Session session = sf.openSession(); Transaction tx = session.beginTransaction(); try{ // t_prefにTokyoとChibaがすでに入っているものとする。 // Tokyoを見つける List<Pref> tokyoList = session.createQuery( "from Pref pref where pref.pref like 'Tokyo'" ).list(); Pref tokyoPref; if( tokyoList.size() == 1 ){ tokyoPref = (Pref)tokyoList.get( 0 ); }else{ throw new UnsupportedOperationException( "Tokyo not found!"); } System.out.println( "tokyoPref id: " + tokyoPref.getId() ); System.out.println( "TokyoPref pref: " + tokyoPref.getPref() ); Address okadaAddr = new Address(); okadaAddr.setName( "Okada" ); okadaAddr.setPref( tokyoPref ); okadaAddr.setAddress( "Edogawaku 1-2-3" ); session.save( okadaAddr ); tx.commit(); }catch( HibernateException he ){ if( tx != null ){ tx.rollback(); } }finally{ session.close(); sf.close(); } } }
Pref.java
package chap06app; import java.util.HashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.Table; @Entity @Table(name = "t_pref", schema = "public") public class Pref implements java.io.Serializable { private int id; private String pref; private Set<Address> TAddresses = new HashSet<Address>(0); public Pref() { } public Pref(int id, String pref) { this.id = id; this.pref = pref; } public Pref(int id, String pref, Set<Address> TAddresses) { this.id = id; this.pref = pref; this.TAddresses = TAddresses; } @Id @Column(name = "id", unique = true, nullable = false) public int getId() { return this.id; } public void setId(int id) { this.id = id; } @Column(name = "pref", nullable = false) public String getPref() { return this.pref; } public void setPref(String pref) { this.pref = pref; } @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "pref") public Set<Address> getTAddresses() { return this.TAddresses; } public void setTAddresses(Set<Address> TAddresses) { this.TAddresses = TAddresses; } }
Address.java
package chap06app; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; @Entity @Table(name = "t_address2", schema = "public") public class Address implements java.io.Serializable { private int id; private Pref pref; private String name; private String address; public Address() { } public Address(int id, Pref pref, String name, String address) { this.id = id; this.pref = pref; this.name = name; this.address = address; } @Id @Column(name = "id", unique = true, nullable = false) public int getId() { return this.id; } public void setId(int id) { this.id = id; } @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "pref_id_fk", nullable = false) public Pref getPref() { return this.pref; } public void setPref(Pref pref) { this.pref = pref; } @Column(name = "name", nullable = false) public String getName() { return this.name; } public void setName(String name) { this.name = name; } @Column(name = "address", nullable = false) public String getAddress() { return this.address; } public void setAddress(String address) { this.address = address; } }
src\out:
TAddress.java
// default package // Generated 2009/01/29 0:32:15 by Hibernate Tools 3.2.1.GA import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; /** * TAddress generated by hbm2java */ @Entity @Table(name = "t_address", schema = "public") public class TAddress implements java.io.Serializable { private int id; private String name; private int pref; private String address; public TAddress() { } public TAddress(int id, String name, int pref, String address) { this.id = id; this.name = name; this.pref = pref; this.address = address; } @Id @Column(name = "id", unique = true, nullable = false) public int getId() { return this.id; } public void setId(int id) { this.id = id; } @Column(name = "name", nullable = false) public String getName() { return this.name; } public void setName(String name) { this.name = name; } @Column(name = "pref", nullable = false) public int getPref() { return this.pref; } public void setPref(int pref) { this.pref = pref; } @Column(name = "address", nullable = false) public String getAddress() { return this.address; } public void setAddress(String address) { this.address = address; } }
TAddress2.java
// default package // Generated 2009/01/29 0:32:15 by Hibernate Tools 3.2.1.GA import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; /** * TAddress2 generated by hbm2java */ @Entity @Table(name = "t_address2", schema = "public") public class TAddress2 implements java.io.Serializable { private int id; private TPref TPref; private String name; private String address; public TAddress2() { } public TAddress2(int id, TPref TPref, String name, String address) { this.id = id; this.TPref = TPref; this.name = name; this.address = address; } @Id @Column(name = "id", unique = true, nullable = false) public int getId() { return this.id; } public void setId(int id) { this.id = id; } @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "pref_id_fk", nullable = false) public TPref getTPref() { return this.TPref; } public void setTPref(TPref TPref) { this.TPref = TPref; } @Column(name = "name", nullable = false) public String getName() { return this.name; } public void setName(String name) { this.name = name; } @Column(name = "address", nullable = false) public String getAddress() { return this.address; } public void setAddress(String address) { this.address = address; } }
TPref.java
// default package // Generated 2009/01/29 0:32:15 by Hibernate Tools 3.2.1.GA import java.util.HashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.Table; /** * TPref generated by hbm2java */ @Entity @Table(name = "t_pref", schema = "public") public class TPref implements java.io.Serializable { private int id; private String pref; private Set<TAddress2> TAddress2s = new HashSet<TAddress2>(0); public TPref() { } public TPref(int id, String pref) { this.id = id; this.pref = pref; } public TPref(int id, String pref, Set<TAddress2> TAddress2s) { this.id = id; this.pref = pref; this.TAddress2s = TAddress2s; } @Id @Column(name = "id", unique = true, nullable = false) public int getId() { return this.id; } public void setId(int id) { this.id = id; } @Column(name = "pref", nullable = false) public String getPref() { return this.pref; } public void setPref(String pref) { this.pref = pref; } @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "TPref") public Set<TAddress2> getTAddress2s() { return this.TAddress2s; } public void setTAddress2s(Set<TAddress2> TAddress2s) { this.TAddress2s = TAddress2s; } }
hibernate.cfg.xml
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.bytecode.use_reflection_optimizer">false</property> <property name="hibernate.connection.driver_class">org.postgresql.Driver</property> <property name="hibernate.connection.password">okada</property> <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/Chap04DB</property> <property name="hibernate.connection.username">okada</property> <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property> <property name="hibernate.show_sql">true</property> <mapping class="TAddress2" /> <mapping class="TAddress" /> <mapping class="TPref" /> </session-factory> </hibernate-configuration>
src:
hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">org.postgresql.Driver</property> <property name="hibernate.connection.password">okada</property> <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/Chap04DB</property> <property name="hibernate.connection.username">okada</property> <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property> <property name="hibernate.show_sql">true</property> <mapping class="chap06app.Address"/> <mapping class="chap06app.Pref"/> </session-factory> </hibernate-configuration>
代码来自日本的技术图书 :http://www.shuwasystem.co.jp/products/7980html/2197.html
发表评论
-
Struts2.1+Spring3.0+JPA1.0(Hibernate3.3实现)例子
2010-01-28 14:03 7665本文代码是传智播客黎活明老师所讲的《Spring2.5视频教程 ... -
Struts+Spring+iBATIS做的XML文件操作例子
2010-01-21 10:08 1076去年圣诞节前的一个例子,初版,给别人说明用的。 Str ... -
Struts1的版本差异——Action!
2009-12-25 13:44 898近来的项目要用Struts1.0.2框架,真够老的! 昨天模 ... -
中规模应用的开发(二)
2009-07-20 22:13 1008BookStore\src\main\webapp\WEB-I ... -
中规模应用的开发(一)
2009-07-20 21:50 1217BookStore pom.xml <proje ... -
导入Velocity
2009-07-20 19:24 2360src\main\java\bookstore\action: ... -
导入Spring
2009-07-20 17:38 1234src\main\java\chap12app: Mai ... -
导入Maven
2009-07-20 17:27 1020一.Maven的展开 1.在 ... -
小规模应用的开发
2009-07-20 16:30 1134init: initdb dropdb BookSto ... -
导入Struts2
2009-07-20 15:54 903src: struts.xml <?xml ver ... -
JDBC登录
2009-07-20 15:31 1254LoginCheckServlet.java package ... -
JDBC
2009-07-20 15:18 711Main.java package chap05app; ... -
JSP/Servlet编程
2009-07-20 15:06 582PersonalInfoCheckServlet.java ... -
Spring Live-Spring Quick Start Tutorial
2007-03-02 11:35 1361http://sourcebeat.com/downloads ... -
Sysdeo Eclipse Tomcat Launcher plugin备份
2007-02-26 09:48 3063http://www.sysdeo.com/eclipse/t ... -
Struts+Spring+Hibernate添加用户例子
2007-02-02 12:41 4145由于jar太大,抓成图片以供下载. 图片在lib目录下. 数据 ... -
关于Struts+Hibernate分页的例子
2007-01-08 08:37 3026这个程序很久了,当时就查询分页这没有成功,一点遗憾:( ... -
测试 Enterprise Beans
2006-12-29 11:45 1721这个测试企业Beans的教程内容不多,却花费我很长时间。主要是 ... -
创建 J2EE 应用程序客户端
2006-12-29 10:24 1779确切地说,这个例子很失败! 从http://www.netbe ... -
J2EE 应用程序快速入门指南
2006-12-29 08:28 2255近来想系统地学习一下Java,NetBeas有较丰富的在线教程 ...
相关推荐
Hibernate 是一个著名的开源...总之,导入Hibernate源码到Eclipse中,不仅有助于我们深入理解ORM的工作原理,还能提升我们的数据库操作和设计能力。通过实际操作和调试,我们可以更有效地学习和掌握这个强大的框架。
在Eclipse和MyEclipse中,你可以通过右键菜单创建新项目,然后导入Hibernate所需的库,配置好项目结构后,就可以运行案例代码,查看数据库操作的效果。这将帮助你理解Hibernate的工作原理,例如怎样执行HQL...
6. hibernate:这个目录可能包含Hibernate的核心库和相关的JAR文件,如hibernate-core.jar、hibernate-entitymanager.jar等,以及Hibernate的特定模块,如Hibernate Validator用于校验实体对象。 7. spring:Spring...
【描述】"webservice整合了hibernate,导入进去直接就能运行"意味着开发者已经完成了一个预配置的项目,其中包含了必要的配置文件、依赖库以及相关的代码实现。用户只需将这个项目导入到开发环境中,如Eclipse或...
**Eclipse Hibernate 3.3 IDE插件** Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者将数据库操作转化为对Java对象的操作,从而简化了数据访问层的编程。这款Eclipse插件是为了更好地集成...
在开始使用 Hibernate 之前,需要进行环境配置,主要包括导入 Hibernate 相关的 JAR 包,如 Hibernate 的核心库、JDBC 驱动和单元测试库。配置文件 `hibernate.cfg.xml` 是 Hibernate 的心脏,它包含了数据库连接...
- 导入Hibernate所需的依赖jar包,包括Hibernate自身提供的jar包以及数据库驱动jar包。 - 编写Hibernate相关配置文件,包括映射配置文件和核心配置文件Hibernate.cfg.xml。 Hibernate的工作原理涉及配置文件的读取...
1. **导入Hibernate的Jar包**:这是使用Hibernate的前提条件。 2. **创建Hibernate配置文件**:通常命名为`hibernate.cfg.xml`,此文件用于配置数据库连接信息和其他全局设置。 3. **创建持久化类**:持久化类代表...
创建一个名为`HibernateDemo`的Java工程,并导入Hibernate所需的jar包,包括核心jar包`hibernate3.jar`以及所有位于`lib/required`目录下的jar包。另外,由于涉及到MySQL数据库操作,还需要导入MySQL驱动包。如果你...
hibernate-distribution-3.6.0.Final手册
创建一个名为`HibernateDemo`的Java工程,然后导入Hibernate的核心库,包括`hibernate3.jar`以及`lib`目录下的所有jar包。如果使用最新版本的Hibernate,可能需要7个基本的jar包。同时,由于涉及到数据库操作,还...
在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。本篇将详细解释`hibernate搭建用到的jar包`,以及它们在Hibernate框架中的...
在导入Hibernate时,选择Hibernate的所有包,并将其复制到工程目录。在配置阶段,选择让Spring管理Hibernate的配置文件,即指定`applicationContext.xml`文件,并为SessionFactory指定一个ID。 6. **创建Hibernate...
5. **导入Hibernate工程**:在Java项目中使用Hibernate,需要将这些jar包添加到项目的类路径中,确保编译和运行时能够找到相关的类和方法。这通常可以通过构建工具如Maven或Gradle来管理依赖,或者手动将jar包放入...
- **导入Hibernate的jar包**:包括Hibernate核心库及其他依赖库。 - **导入日志jar包**:如Log4j或SLF4J等,用于输出日志信息。 - **导入数据库驱动jar包**:如MySQL的驱动程序。 - **实体类创建**: - 在...
5. **导入Hibernate**:在MyEclipse中,通过工程菜单下的“HibernateCapabilities”选项,导入Hibernate框架,选择数据库连接并完成必要的配置。 6. **用Hibernate自动生成配置文件**:选择数据库中的目标表,如`t_...
1. 导入Hibernate库:将所需的Hibernate JAR包添加到项目的类路径中。 2. 配置hibernate.cfg.xml:设置数据库连接信息,如URL、用户名、密码、驱动类等。 3. 编写实体类:表示数据库中的表,使用注解或XML映射文件...
1. **环境搭建**:首先需要配置好JDBC驱动,建立数据库连接,并导入Hibernate相关的jar包。 2. **配置文件**:配置Hibernate的`hibernate.cfg.xml`文件,指定数据库连接信息及其它设置。 3. **实体类设计**:设计...
- **Jar包导入**:在工程中导入Hibernate的jar包至关重要。这包括`hibernate3.jar`,这是Hibernate的核心库,以及`lib\required`目录下的所有jar包,这些包提供了Hibernate运行所需的额外功能。如果使用的是最新版本...