`

1.Hibernate入门

阅读更多

一、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&amp;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入门到精通" Hibernate 是一个基于Java的ORM(Object-Relational Mapping,对象关系映射)框架,它提供了一种简洁高效的方式来访问和操作关系数据库。下面是 Hibernate 的主要知识点: Hibernate 简介 ...

    hibernate+中文api

    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. 第...

    HibernateAPI中文版.chm

    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的核心库以及与之配合使用的相关组件。让我们深入探讨一下这些jar包以及它们在Hibernate中的作用。 1. Hibernate核心库: - `hibernate-core.jar`:这...

    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. 第...

    hibernate3.2中文文档(chm格式)

    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入门案例源码】是针对初学者设计的一份教程,旨在帮助理解并掌握Java持久化框架Hibernate的基础应用。Hibernate是一个强大的ORM(对象关系映射)框架,它简化了数据库与Java对象之间的交互,使开发者可以...

    Hibernate In Action(Java.Persistence.with.Hibernate)源码

    3. **jpwh-gettingstarted-070401**:根据目录名猜测,这可能是指Java Persistence with Hibernate(JPWH)的入门示例。JPWH可能是这本书的一个简称,这部分代码可能包含了基本的Hibernate设置和使用,例如配置...

    .hibernate 框架介绍

    Hibernate支持1:1、1:n、n:m等多种关联映射关系,可以有效地管理复杂的数据关系。 在Hibernate框架中,ORM模型简化了数据库查询的过程,开发者可以利用ORM框架提供的查询接口,以对象的方式操作数据,而无需深入...

    Hibernate_3.2.0_符合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,hibernate入门

    **初学Hibernate,Hibernate入门** Hibernate是一个开源的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务。在Java应用中,通过Hibernate,开发者可以将数据库操作抽象成对象模型,使得代码...

    Hibernate 中文 html 帮助文档

    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框架参考文档

    1. Hibernate入门; 2. 体系结构(Architecture); 3. 配置; 4. 持久化类(Persistent Classes); 5. 对象/关系数据库映射基础(Basic O/R Mapping); 6. 集合类(Collections)映射; 7. 关联关系映射; 8. 组件(Component)...

    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. 第...

    Manning.Java.Persistence.with.Hibernate[Hibernate实战第二版].pdf

    无论你是想入门ORM,还是希望优化现有的Hibernate应用,这本书都能提供宝贵的指导。 总之,《Java Persistence with Hibernate》第二版是一本不可多得的参考书籍,它不仅涵盖了一个ORM框架的所有核心概念,还提供了...

    Hibernate入门教程.pdf

    ### Hibernate入门教程知识点详解 #### 一、Hibernate框架简介 **Hibernate** 是一款开放源代码的**对象关系映射(Object-Relational Mapping,简称ORM)**框架,它为Java应用提供了一种高效的机制,用于处理Java...

    hibernate 体系结构与配置 参考文档(html)

    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入门到精通.pdf

    《Hibernate入门到精通》这本书是针对Java开发人员深入学习Hibernate框架的一份宝贵资源。Hibernate是一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序与数据库之间的交互。通过使用Hibernate,...

    Apress.Beginning.Hibernate.2nd.Edition.May.2010.rar

    《Apress Beginning Hibernate 2nd Edition May 2010》是Hibernate框架的入门教程,由Apress出版社在2010年5月发行的第二版。这本书详细介绍了如何使用Hibernate这一强大的Java对象关系映射(ORM)工具,旨在帮助...

Global site tag (gtag.js) - Google Analytics