hibernate比较有用的一个简单入门例子,步骤详细见下面描述:
1、创建表 TEST_USER
create table TEST_USER
(
ID VARCHAR2(40 CHAR) not null,
USERNAME VARCHAR2(255 CHAR),
PASSWORD VARCHAR2(255 CHAR)
);
2、创建对应的entity文件 User.java
public class User implements Serializable
{
private String id;
private String username;
private String password;
public User() {
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
3、创建user对象对应的hbm文件 User.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="cn.com.test.entity">
<class name="User" table="test_user" >
<id name="id" column="id" length="40">
<generator class="uuid.hex"/>
</id>
<property name="username" ></property>
<property name="password" ></property>
</class>
</hibernate-mapping>
4、创建hibernate的配置文件 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">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@datebaseIp:1521:sid</property>
<property name="hibernate.connection.username">username</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
<!--
<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
<property name="hibernate.connection.url">jdbc:postgresql://devserver/devdb</property>
<property name="hibernate.connection.username">username</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.dialect">net.sf.hibernate.dialect.PostgreSQLDialect</property>
-->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="hibernate.show_sql">true</property>
<mapping resource="cn/com/test/User.hbm.xml" />
</session-factory>
</hibernate-configuration>
5、创建sessionFactory工厂公共类
package com.pccw.dylan.demo.util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static SessionFactory factory;
static {
try {
// 读取配置文件
Configuration cfg = new Configuration().configure("hibernate.cfg.xml");
factory = cfg.buildSessionFactory();
} catch (Exception e) {
e.printStackTrace();
}
}
// 创建sessionFactory
public static SessionFactory getSessionFactory() {
return factory;
}
// 创建session
public static Session getSession() {
return factory.openSession();
}
// 关闭session,要关闭的时候条用这个方法就可以了
public static void closeSession(Session session) {
if (session != null) {
if (session.isOpen()) {
session.close();
}
}
}
}
6、完成上面的步骤后,就可以写一个测试类进行测试
package com.pccw.dylan.demo.test;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;
import org.apache.log4j.Logger;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.pccw.dylan.demo.entity.User;
import com.pccw.dylan.demo.util.HibernateUtil;
public class HibernateTest {
private static final Logger log = Logger.getLogger(HibernateTest.class);
/** */
/**
* @param args
* @throws HibernateException
* @throws SQLException
*/
public void insertUser() throws HibernateException, SQLException {
Session session = (Session) HibernateUtil.getSession();
Transaction tx = session.beginTransaction();
User user = new User();
user.setUsername("ttt");
user.setPassword("ttt");
session.save(user);
tx.commit();
HibernateUtil.closeSession(session);
System.out.println("新增成功!");
}
public List getUsers() {
Session session = (Session) HibernateUtil.getSession();
Transaction tx = session.beginTransaction();
String hql = "from User d where d.username=:name";
Query query = session.createQuery(hql);
query.setString("name", "test");
List list = query.list();
tx.commit();
HibernateUtil.closeSession(session);
return list;
}
public void updateUsers() {
Session session = (Session) HibernateUtil.getSession();
Transaction tx = session.beginTransaction();
String hql = "update User set password='gm' ";
Query query = session.createQuery(hql);
query.executeUpdate();
tx.commit();
HibernateUtil.closeSession(session);
log.info("更新成功!");
}
public void deleteUsers() {
Session session = (Session) HibernateUtil.getSession();
Transaction tx = session.beginTransaction();
String hql = "delete from User where id='f104ed282e7979b3012e7979b4430001'";
Query query = session.createQuery(hql);
query.executeUpdate();
tx.commit();
HibernateUtil.closeSession(session);
log.info("删除成功!");
}
public static void main(String[] args) throws HibernateException, SQLException {
log.info("====begin===test====");
new HibernateTest().insertUser();
// new HibernateTest().updateUsers();
// new HibernateTest().deleteUsers();
List list = new HibernateTest().getUsers();
for (Iterator iter = list.iterator(); iter.hasNext();) {
User user = (User) iter.next();
log.info(user.getPassword());
}
}
}
在做的过程中可能会碰到一些问题,红色字体标明容易导致异常的地方,应该特别注意。项目依赖一些jar包入
antlr.jar
asm.jar
cglib.jar
commons-beanutils.jar
commons-collections.jar
commons-logging.jar
dom4j.jar
hibernate3.jar
j2ee.jar
log4j.jar
oracle.jar
spring.jar
由于连接的是oracle数据库所以采用oracle的驱动
其中没有写明jar包的版本号,一般别太老的版本就应该没有问题的。
工程的目录结构不做强调,可以写到一起,也可以分成不同的包路径,不做详细说明。
希望这个例子能帮助需要的人。谢谢大家支持。特殊声明:部分代码也参照网上的例子。
分享到:
相关推荐
hibernate入门例子hibernate入门例子hibernate入门例子hibernate入门例子hibernate入门例子hibernate入门例子hibernate入门例子
【hibernate入门小例子】是一个适合初学者的教程,主要涵盖了如何在JavaWeb项目中使用Hibernate框架与MySQL数据库进行集成。在这个例子中,我们将会深入理解Hibernate的核心概念,包括实体映射、对象关系映射(ORM)...
【hibernate入门--第一个实例】 Hibernate 是一个强大的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务。通过使用Hibernate,我们可以将数据库操作转换为对Java对象的操作,从而简化了数据库...
【Hibernate入门案例源码】是针对初学者设计的一份教程,旨在帮助理解并掌握Java持久化框架Hibernate的基础应用。Hibernate是一个强大的ORM(对象关系映射)框架,它简化了数据库与Java对象之间的交互,使开发者可以...
**标题解析:**“hibernate的第一个例子”表明这是一个关于Hibernate框架的基础教程,主要目标是展示如何使用Hibernate进行数据持久化操作。 **描述分析:**描述提到这是一个超级简单的例子,包含一个持久化对象...
在本文中,我们将深入探讨如何创建Hibernate的第一个例子,帮助初学者快速入门。** **一、Hibernate 简介** Hibernate 提供了丰富的API,简化了Java应用程序与关系数据库之间的交互。它通过XML配置文件或注解来定义...
**Hibernate入门例子** 在Java开发中,Hibernate是一个非常流行的Object-Relational Mapping(ORM)框架,它极大地简化了数据库操作,使开发者可以使用面向对象的方式来处理数据库事务。本教程将带你一步步了解如何...
Hibernate则是一个对象关系映射(ORM)工具,它简化了数据库操作,将Java对象与数据库表进行映射,使得开发者可以使用面向对象的方式来操作数据库。在SSH集成的例子中,Hibernate会负责数据持久化,通过实体类...
通过这个简单的Hibernate3入门例子,你可以了解到如何在Java Web应用中使用Hibernate进行数据库操作,包括环境搭建、配置、实体类设计、映射文件编写以及基本的CRUD操作。随着对Hibernate的深入学习,你会发现它能极...
**hibernate入门示例详解** Hibernate 是一款强大的Java持久化框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是底层SQL语句。在这个入门例子中,我们将深入理解Hibernate的基本概念、配置以及如何...
在这个"Struts & Hibernate入门实例"中,我们将深入理解这两个框架的基本概念、工作原理以及如何在实际项目中整合使用。 Struts是一个开源的MVC框架,它提供了结构化的Web应用程序开发方式,帮助开发者更好地分离...
该例子可以先通过mysql建立数据库 利用myeclipse的逆向工程生成pojo(java简单对象),dao(数据库操作对象),hibernateSession类 快速构建数据库操作架构,适合初学者参考. 关于myeclipse的逆向工程视频可以参考myeclipse...
在这个“hibernate入门的小例子”中,我们将探讨如何利用Hibernate进行基本的数据操作,包括实体类的创建、配置文件的设定、Session的使用以及查询操作。 1. **实体类的创建**: 在Hibernate中,实体类是代表...
下面是一个简单的示例代码: ```java public class CategoryDAOImpl implements CategoryDao { @Override public void addCategory(Category category) { QueryRunner queryRunner = new QueryRunner(Utils2DB....
以下是一个简单的步骤来创建和运行一个基于Hibernate的小例子: 1. **环境准备**: 首先,你需要安装Java集成开发环境(例如JB7.0)以及Hibernate库。在这个例子中,使用的是Hibernate 2.0.3版本,同时还需要...
SSH(Struts + Spring + Hibernate)是一个经典的Java Web开发框架组合,用于构建高效、可维护的企业级应用程序。在这个“一个SSH的入门完整例子”中,...这个入门例子将提供一个实践平台,帮助初学者快速上手SSH开发。
本快速入门例子源代码旨在帮助初学者快速掌握Hibernate的使用方法。 首先,`.classpath`文件是Eclipse IDE中的配置文件,它包含了项目所需的类路径信息。在Hibernate开发中,这个文件会包含Hibernate库、JDBC驱动和...
【Hibernate入门 - 基础配置】 在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入介绍Hibernate的基础配置和功能,帮助初学者快速入门。 一、ORM框架与...
本教程将通过一个简单的例子来介绍Hibernate的核心概念和基本用法。 【描述】:尽管描述中表达了对字数限制的不满,但我们可以专注于理解Hibernate的基础知识。在这个例子中,我们将学习如何设置Hibernate环境,...