- 浏览: 180366 次
- 性别:
- 来自: 济南
文章分类
最新评论
-
Technoboy:
this is owing to Java Specifica ...
spring aop -
zg2010:
学习了。
instanceof操作符的应用 -
1456996541:
最近课程设计也是要设计个MIS,老师要我们自己找业务,这位朋友 ...
JSPServlet构建三层管理信息系统(转) -
infon:
六个 人的友谊。
------------
五个人的友谊?
改变人生的五句话 -
jinweijieloveszhuye:
代码帖得出问题了好像。。。
js删除一行
Eclipse 3.2+MySQL 4.0.16+Hibernate3.0
首先应该安装好Eclipse和MySQL,此外准备好MySQL的JDBC Driver和Hibernate3.0,相关下载地址如下:
Eclipse SDK:
http://www.eclipse.org/downloads/index.php
MySQL及MySQL的JDBC Driver:
http://www.mysql.org
Hibernate:
http://www.hibernate.org
此外我还安装了Eclipse的一个Hibernate插件:
Hibernate synchronizer
http://hibernatesynch.sourceforge.net
Plugin Search:
http://eclipse-plugins.2y.net/eclipse/search.jsp
Hibernate synchronizer插件的安装和配置有问题请直接Google。
在工程中其实只用到了Hibernate synchronizer插件的一部分功能,Hibernate依赖的相关jar包最好还是手动添加,因为最开始用Hibernate synchronizer添加时总是发生错误。
将下载的Mysql driver和Hibernate包解压缩,我们需要的只是里面相关的jar,在Eclipse中新建Mysql_Driver和Hibernate两个 user library,将mysql-connector-java-3.0.15-ga-bin.jar加入Mysql_Driver中,将 hibernate3.jar,
,log4j-1.2.11.jar,antlr-2.7.5H3.jar,asm.jar,asm-attrs.jar,cglib- 2.1.2.jar,commons-collections-2.1.1.jar,commons-logging-1.0.4.jar,dom4j- 1.6.1.jar,ehcache-1.1.jar,jta.jar加入到Hibernate中。
2.开始
在Mysql中新建test数据库(Mysql其实有个空的test数据库),然后新建下面的Table
create table user (
id int(10) not null auto_increment primary key,
name varchar(20) not null,
password varchar(20) not null,
email varchar(50),
address varchar(100)
)type=innodb;
新建Java Project,将Mysql_Driver,Hibernate两个user library添加到该工程的java build path中。
新建与数据表对应的POJO类:User和Contact
/**
*
*
*/
package com.user;
/**
* @author lzy
*
*/
public class User{
private Integer id;
private String name;
private String password;
private Contact contact;
/**
* @return Returns the id.
*/
public Integer getId() {
return id;
}
/**
* @param id The id to set.
*/
public void setId(Integer id) {
this.id = id;
}
/**
* @return Returns the name.
*/
public String getName() {
return name;
}
/**
* @param name The name to set.
*/
public void setName(String name) {
this.name = name;
}
/**
* @return Returns the password.
*/
public String getPassword() {
return password;
}
/**
* @param password The password to set.
*/
public void setPassword(String password) {
this.password = password;
}
/**
* @return Returns the contact.
*/
public Contact getContact() {
return contact;
}
/**
* @param contact The contact to set.
*/
public void setContact(Contact contact) {
this.contact = contact;
}
}
/**
*
*/
package com.user;
/**
* @author lzy
*
*/
public class Contact {
private String email;
private String address;
/**
* @return Returns the address.
*/
public String getAddress() {
return address;
}
/**
* @param address The address to set.
*/
public void setAddress(String address) {
this.address = address;
}
/**
* @return Returns the email.
*/
public String getEmail() {
return email;
}
/**
* @param email The email to set.
*/
public void setEmail(String email) {
this.email = email;
}
}
之后可以用synchronizer插件生成Hibernate配置文件和映射文件(相关过程可以参考http://www.ideagrace.com/html/doc/2005/08/01/00315.html),不过映射文件必须稍作修改。
hibernate.cfg.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory >
<!-- local connection properties -->
<property name="hibernate.connection.url">jdbc:mysql://localhost/test</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.username"></property>
<property name="hibernate.connection.password"></property>
<!-- property name="hibernate.connection.pool_size"></property -->
<!-- dialect for MySQL -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.show_sql">True</property>
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<mapping resource="User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
User.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="com.user">
<class
name="User"
table="user"
>
<id
name="Id"
type="integer"
column="id"
>
<generator class="native"/>
</id>
<property
name="Name"
column="name"
type="string"
not-null="true"
length="20"
/>
<property
name="Password"
column="password"
type="string"
not-null="true"
length="20"
/>
<component name="Contact" class="Contact">
<property
name="Email"
column="email"
type="string"
not-null="false"
length="50"
/>
<property
name="Address"
column="address"
type="string"
not-null="false"
length="100"
/>
</component>
</class>
</hibernate-mapping>
3.测试
添加一个测试类:HibernateTest
package com.user;
import java.util.List;
import java.util.ListIterator;
import org.hibernate.*;
import org.hibernate.cfg.*;
public class HibernateTest {
public static void main(String[] args) throws HibernateException {
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
//
//testInsert(sessionFactory);
//
testQuery(sessionFactory);
sessionFactory.close();
}
public static void testInsert( SessionFactory sessionFactory )throws HibernateException {
Session session = sessionFactory.openSession();
Transaction tx= session.beginTransaction();
User user = new User();
Contact contact=new Contact();
contact.setEmail("email");
contact.setAddress("address");
user.setName("caterpillar");
user.setPassword("password");
user.setContact(contact);
session.save(user);
tx.commit();
session.close();
System.out.println("OK!");
}
public static void testQuery( SessionFactory sessionFactory )throws HibernateException {
Session session = sessionFactory.openSession();
Transaction tx= session.beginTransaction();
User user = new User();
Contact contact=new Contact();
Query query=session.createQuery("from User as user");
//query.setCharacter(1, 'M');
List names =query.list();
for(ListIterator it=names.listIterator();it.hasNext();){
user= (User)it.next();
System.out.println("Id: " + user.getId());
System.out.println("name: " + user.getName());
System.out.println("password: " + user.getPassword());
if(user.getContact()!=null){
if(user.getContact().getEmail()!=null){
System.out.println("Email: " + user.getContact().getEmail());
}
if(user.getContact().getAddress()!=null){
System.out.println("Address: " + user.getContact().getAddress());
}
}
}
tx.commit();
session.close();
}
}
发表评论
-
分析Hibernate的事务处理机制
2007-06-19 14:58 3101Hibernate是对JDBC的轻量级对象封装,Hiberna ... -
如何用 Hibernate 实现分页查询
2007-06-19 14:55 4141例如: 从第2万条开始 ... -
精通Hibernate之映射继承关系八
2007-06-19 14:42 3741由于关系数据模型不允 ... -
精通Hibernate之映射继承关系七
2007-06-19 14:41 3033Company与Employee类之间为 ... -
精通Hibernate之映射继承关系六
2007-06-19 14:39 3302在这种映射方式下,继承关系树的每个类以及接口都对应一个表。在本 ... -
精通Hibernate之映射继承关系五
2007-06-19 14:34 2941本节的范例程序位于配套光盘的sourcecode\chapte ... -
精通Hibernate之映射继承关系四
2007-06-19 14:31 2898这种映射方式只需为继承关系树的Employee根类创建一张表E ... -
精通Hibernate之映射继承关系三
2007-06-19 14:28 2882<hibernate-mapping > < ... -
精通Hibernate之映射继承关系二
2007-06-19 14:21 3110把每个具体类映射到一张表是最简单的映射方式。如图14-2所示, ... -
精通Hibernate之映射继承关系一
2007-06-19 14:20 1752在域模型中,类与类之间除了关联关系和聚集关系,还可以存在继承关 ... -
inverse cascade
2007-06-19 14:03 1214Hibenate作为一种Java对象持久化技术,在很多大型的多 ... -
hibernate多对多操作
2007-06-19 13:49 2158SQL(MY SQL): create table tgrou ... -
eclipse中hibernate开发环境搭建
2007-06-16 18:34 3583最近,我开始使用Eclips ...
相关推荐
在 Eclipse 中搭建 Hibernate 项目环境步骤 在本文中,我们将详细介绍如何在 Eclipse 中搭建 Hibernate 项目环境的步骤。Hibernate 是一个流行的 Java 持久层框架,提供了对数据库的访问和操作功能。通过本文,读者...
本文将详细介绍如何在Eclipse环境中搭建Hibernate,并列举出支持Oracle数据库所需的19个jar包。 首先,我们需要理解Hibernate的工作原理。Hibernate通过提供一个对象层,将Java类映射到数据库表,这样开发者就可以...
【标题】"eclipse项目Hibernate实例"涉及到的是Java开发中的持久化框架Hibernate在Eclipse集成开发环境中的实际应用。Hibernate是一种流行的ORM(对象关系映射)框架,它允许开发者使用面向对象的Java语言来操作...
Eclipse 搭建 Spring 开发环境 本文主要介绍了如何使用 Eclipse 搭建 Spring 开发环境,包括软件准备、软件安装和 Spring 示例三个部分。 一、软件准备 要搭建 Spring 开发环境,需要准备三个软件:Eclipse、...
**二、搭建环境所需组件** 1. Java Development Kit (JDK):Hibernate是基于Java的,所以首先需要安装JDK并配置好环境变量。 2. Maven或Gradle:项目构建工具,用于管理依赖。 3. Hibernate库:包含Hibernate的核心...
通过本文介绍的方法,你可以轻松地在Eclipse中搭建一个基于Hibernate的开发环境,并实现对数据库的基本操作。Hibernate简化了Java应用与数据库之间的交互,使开发者能更专注于业务逻辑的实现。希望本文对你有所帮助...
这款Eclipse插件是为了更好地集成Hibernate框架到Eclipse集成开发环境中,提供了一套便捷的工具集,使得在Eclipse中开发和调试Hibernate应用变得更为高效。 **插件兼容性** 该插件声明完全适用于Eclipse 3.7版本。...
首先,Eclipse是Java开发者的首选集成开发环境,因为它提供了丰富的功能,如代码自动完成、调试工具和项目管理,使得开发过程更加高效。为了在Eclipse中使用Hibernate,我们需要安装Hibernate插件。...
总结来说,"Eclipse搭建SSH框架开发学习笔记"涵盖了从基础环境准备(JDK安装与环境变量配置)、开发工具(Eclipse与Tomcat配置)、数据库(MySQL服务器搭建)到系统服务管理等多个环节,为初学者提供了详尽的步骤...
本文将指导您在 Eclipse 环境中使用 Hibernate,包括下载和安装 Hibernate、配置 Hibernate、生成实体类和 DAO 类、添加映射资源等步骤。 下载和安装 Hibernate 首先,您需要下载 Hibernate 并将其添加到项目中。...
JEECG 3.4.3 Eclipse 环境搭建 JEECG 3.4.3 是一个基于 Eclipse 平台的开发工具,提供了强大的开发功能和插件支持。本文将详细介绍 JEECG 3.4.3 在 Eclipse 环境下的搭建过程,包括环境变量配置、Maven 环境配置、...
"Eclipse搭建MyBatis智能开发环境" Eclipse 是一个功能强大且广泛使用的集成开发环境(IDE),而 MyBatis 是一个流行的持久层框架。为了提高开发效率和质量,需要在 Eclipse 中安装相应的插件,以便更好地支持 ...
在当今的IT行业中,Eclipse作为一个开源的集成开发环境(IDE),广泛应用于Java语言的开发,而Hibernate作为一个对象关系映射(ORM)框架,使Java程序员能够以面向对象的方式来操作关系型数据库。Hibernate通过映射...
"myeclipse和eclipse搭建安卓开发环境" 本文主要介绍了如何使用myeclipse和eclipse搭建安卓开发环境,涵盖了从安装JDK到安装ADT的整个过程,并详细介绍了在myeclipse和eclipse中安装和配置安卓开发环境的步骤。 一...
Eclipse搭建的spark开发环境,微云可下!Eclipse搭建的spark开发环境,微云可下!
Eclipse JSP/Servlet 环境搭建是 Java Web 开发的基础环境,本文将指导用户从零开始搭建 Eclipse JSP/Servlet 环境,包括安装 JDK、Eclipse J2EE、Tomcat 等软件包,并配置 Tomcat 服务器和 Eclipse 环境。...
标题中的“eclipse安装hibernate的jboss tools插件”指的是在Eclipse集成开发环境中安装用于支持Hibernate的JBoss Tools扩展。这个过程是开发者为了提高在Eclipse中使用Hibernate框架进行开发的便利性,通过添加插件...
主要目的自己动手搭建一个ssh框架。 可以分为3步: 1.加载struts-2.3.16.3,把画面跑出来,不连数据库,看一下有消息验证 2.加载 hibernate-distribution-3.3.2.GA-dist.tar.gz,连数据库,看正常插入。 3.删除...
Eclipse搭建python环境视频教程,希望能够学习者提供帮助,实现对Eclipse搭建python环境基础知识的掌握与理解,为后续学习做好铺垫,实现Eclipse搭建python环境的灵活运用