一、Hibernate必须包(3.2)
hibernate3.jar:Hibernate的核心库
cglib-2.1.3.jar:
Hibernate用它来实现PO字节码的动态生成,非常核心的库
asm.jar:cglib所使用的库
asm-attrs.jar:
cglib所使用的库
dom4j-1.6.1.jar:
Hibernate用它来读写配置文件
commons-logging-1.0.4.jar:用于日志管理
commons-collections-2.1.1.jar:
包含了一些Apache开发的集合类,功能比java.util.*强大
antlr-2.7.6.jar:是语法分析生成器
二、配置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="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/jpa?useUnicode=true&characterEncoding=UTF-8
</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!-- hibernate属性 -->
<!-- 是否显示执行的sql语句 -->
<property name="show_sql">true</property>
<!-- 显示执行的sql语句是否格式化 -->
<property name="format_sql">true</property>
<!-- 根据配置文件创建表 -->
<property name="hbm2ddl.auto">update</property>
<mapping resource="com/tao/hibernate/Student.hbm.xml"/>
</session-factory>
</hibernate-configuration>
三、配置ORM映射
1.创建java类
package com.tao.hibernate;
import java.io.Serializable;
@SuppressWarnings("serial")
public class Student implements Serializable {
private Integer id;
private String name;
public Student() {
super();
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2.配置表映射文件
<?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>
<class name="com.tao.hibernate.Student" table="student" schema="jpa">
<id name="id" type="java.lang.Integer" column="id">
<generator class="identity" />
</id>
<property name="name" type="java.lang.String">
<column name="name" length="16" />
</property>
</class>
</hibernate-mapping>
注:映射文件已经在二中加入了。如果没有加入,自己手动加入。
四、数据操作类
package com.tao.hibernate;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class StudentDAO {
private Session session = null;
public StudentDAO() {
//创建一个Configuration对象,此时Hibernate会默认加载classpath中的配置文件hibernate.properties
//configura()方法:用于告诉Hibernate加载hibernate.cfg.xml文件。
Configuration config = new Configuration().configure();
SessionFactory factory = config.buildSessionFactory();
session = factory.openSession();
}
public void save(Student student) {
Transaction tran = session.getTransaction();
tran.begin();
session.save(student);
tran.commit();
}
public void update(Student student) {
Transaction tran = session.beginTransaction();
tran.begin();
session.update(student);
tran.commit();
}
public void delete(Integer id) {
String hql = "delete from Student o where o.id = ?";
Transaction tran = session.beginTransaction();
tran.begin();
Query query = session.createQuery(hql);
query.setParameter(0, id);
query.executeUpdate();
tran.commit();
}
@SuppressWarnings("unchecked")
public Student getModel(Integer id) {
String hql = "from Student o where id = :id";
Query query = session.createQuery(hql);
query.setParameter("id", id);
List list = query.list();
if (list != null && list.size() == 1) {
return (Student) list.get(0);
} else {
return null;
}
}
@SuppressWarnings("unchecked")
public List getPagination(int maxResults, int firstResult) {
String hql = "from Student o";
Query query = session.createQuery(hql);
query.setFirstResult(firstResult);
query.setMaxResults(maxResults);
return query.list();
}
}
五、测试代码类
package com.tao.hibernate;
import java.util.List;
public class Test {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
StudentDAO dao = new StudentDAO();
// 添加
// for (int i = 0; i < 10; i++) {
// Student student = new Student();
// student.setName("Tao" + i);
// dao.save(student);
// }
// 删除
// dao.delete(2);
// 修改
// Student student = new Student();
// student.setId(4);
// dao.update(student);
// 单个查询
// Student s = dao.getModel(4);
// System.out.println(s.getName());
// 分布查询
List list = dao.getPagination(4, 1);
for (int i = 0; i < list.size(); i++) {
Student std = (Student) list.get(i);
System.out.println(std.getName());
}
}
}
分享到:
相关推荐
"Hibernate入门到精通" Hibernate 是一个基于Java的ORM(Object-Relational Mapping,对象关系映射)框架,它提供了一种简洁高效的方式来访问和操作关系数据库。下面是 Hibernate 的主要知识点: Hibernate 简介 ...
1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...
1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...
本压缩包提供的是Hibernate入门所需的jar包,包括了Hibernate的核心库以及与之配合使用的相关组件。让我们深入探讨一下这些jar包以及它们在Hibernate中的作用。 1. Hibernate核心库: - `hibernate-core.jar`:这...
1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...
1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...
【Hibernate入门案例源码】是针对初学者设计的一份教程,旨在帮助理解并掌握Java持久化框架Hibernate的基础应用。Hibernate是一个强大的ORM(对象关系映射)框架,它简化了数据库与Java对象之间的交互,使开发者可以...
3. **jpwh-gettingstarted-070401**:根据目录名猜测,这可能是指Java Persistence with Hibernate(JPWH)的入门示例。JPWH可能是这本书的一个简称,这部分代码可能包含了基本的Hibernate设置和使用,例如配置...
Hibernate支持1:1、1:n、n:m等多种关联映射关系,可以有效地管理复杂的数据关系。 在Hibernate框架中,ORM模型简化了数据库查询的过程,开发者可以利用ORM框架提供的查询接口,以对象的方式操作数据,而无需深入...
1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...
**初学Hibernate,Hibernate入门** Hibernate是一个开源的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务。在Java应用中,通过Hibernate,开发者可以将数据库操作抽象成对象模型,使得代码...
1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...
1. Hibernate入门; 2. 体系结构(Architecture); 3. 配置; 4. 持久化类(Persistent Classes); 5. 对象/关系数据库映射基础(Basic O/R Mapping); 6. 集合类(Collections)映射; 7. 关联关系映射; 8. 组件(Component)...
1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...
无论你是想入门ORM,还是希望优化现有的Hibernate应用,这本书都能提供宝贵的指导。 总之,《Java Persistence with Hibernate》第二版是一本不可多得的参考书籍,它不仅涵盖了一个ORM框架的所有核心概念,还提供了...
### Hibernate入门教程知识点详解 #### 一、Hibernate框架简介 **Hibernate** 是一款开放源代码的**对象关系映射(Object-Relational Mapping,简称ORM)**框架,它为Java应用提供了一种高效的机制,用于处理Java...
1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...
《Hibernate入门到精通》这本书是针对Java开发人员深入学习Hibernate框架的一份宝贵资源。Hibernate是一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序与数据库之间的交互。通过使用Hibernate,...
《Apress Beginning Hibernate 2nd Edition May 2010》是Hibernate框架的入门教程,由Apress出版社在2010年5月发行的第二版。这本书详细介绍了如何使用Hibernate这一强大的Java对象关系映射(ORM)工具,旨在帮助...