`

Hibernate概述和增删改查入门

阅读更多

一、hiberante框架概述

(1).Hibernate是一种轻量级的javaEE持久层解决方案,是一种关系型数据库的ORM映射框架,是完全的对数据库SQL进行封装,使用java对象操作,生成相应的SQL,完成对底层数据的操作.

(2).使用Hibernate的好处

1.简化编码操作

2.应用其内部的优化机制(一级,二级缓存,抓取策略等),来提高数据的操作性能

3.可使用java对象操作数据库,能对底层数据操作进行完全的封装

 

二、Hibernate入门开发

1.搭建Hibernate环境,导入相应的jar包

可从http://sourceforge.net/projects/hibernate/files 下载开发包

所需jar包如下:


一些包的描述:

*hibernate3.jar—— 核心jar包

*hibernate-jpa-2.0-api-1.0.1.Final.jar——hibernate注解、web项目中依赖 包

*slf4j,slf4j-log4j12-1.7.2.jar——hibernate框架使用默认日志技术,需要与log4j整合实现

 

2.建立相依的实体类,以及相应的hbm(映射文件)

A.创建实体类Person.java,包含的属性为id,name,city.其对应的映射文件为(Person.hbm.xml)

B.主要配置如下

 

<hibernate-mapping>
		<!-- 
		     name 完整类名,table 表名,catalog 数据库名
		 -->
		<class name="com.w2cboy.model.Person" table="person" catalog="ceshidb">
			<!-- 主键生成策略配置 -->
			<!-- 
			 name Perosn类中生成注解 属性名
			 column 表中列名
			 type 数据类型  (Java数据类型、Hibernate数据类型 、 SQL数据类型 )
			 -->
			<id name="id" column="id" type="int">
			     <!-- 使用本地策略 -->
			     <generator class="native"></generator>
			</id>
			<!-- 配置其它属性 -->
			<property name="name" column="name" type="java.lang.String"></property>
			<!-- SQL类型 必须编写 column 元素-->
			<property name="city" column="city" type="string"></property>
		</class>
</hibernate-mapping>



 

3.创建并配置hibernate核心配置文件

在src目录下创建hibernate.cfg.xml文件,主要配置JDBC连接信息

其配置信息如下

 

             <hibernate-configuration>
		<!-- Hibernate中数据库连接 通过 session对象进行管理  -->
		<session-factory>
			<!-- 连接数据库,必须配置 JDBC 四个基本连接参数 -->
			<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
			<property name="hibernate.connection.url">jdbc:mysql:///ceshidb</property>
			<property name="hibernate.connection.username">root</property>
			<property name="hibernate.connection.password">123</property>
			
			<!-- 配置数据库方言 不同 数据库 SQL 不完全一样-->
			<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
	
			<!-- 在控制台打印生成的SQL语句 -->
			<property name="hibernate.show_sql">true</property>
			<!-- 对控制台输出SQL语句进行格式化,为了方便阅读 -->
			<property name="hibernate.format_sql">true</property>
			<!-- 可以自动根据类生成DDL 建表语言,完成自动建表 -->
			<property name="hibernate.hbm2ddl.auto">update</property>
			
			<!-- 在核心配置文件中 加载 hbm 映射文件 -->
			<mapping resource="com/w2cboy/model/Person.hbm.xml"/>
		</session-factory>
           </hibernate-configuration>	
	



 

4.编写测试用例(实现CRUD操作)

1.session工具类:

 

	//实例化配置对象,加载配置文件 hibernate.cfg.xml
	Configuration configuration = new Configuration().configure();
	//创建会话连接工厂
	SessionFactory sessionFactory = configuration.buildSessionFactory();
	//创建会话	
	Session session = sessionFactory.openSession();
	//开启事务
	Transaction transaction = session.beginTransaction();
	//提交事务,释放资源		
	transaction.commit();
	session.close();
	sessionFactory.close();


2.CRUD操作

 

 

2) 根据id 查询 通过 Session类 提供 get/load 方法 
	     int id = 1;
	     Person person= (Person ) session.get(person .class, id);
3)修改update方法, 默认根据 id 修改 表其它所有字段  通过 Session类 提供 update
	     person person = new Person ();
	     person .setName("张三");
	     person .setCity("上海");
     session.update(person);

4)删除操作, 根据id 删除, 通过Session类提供 delete 
	     person person = new Person ();
	     person.setId(1);
	     session.delete(perosn);

5) 查询所有数据 
	通过Query 接口完成, Query接口 接收HQL 查询语句 
	Query提供子接口 SQLQuery , 接收SQL 查询语句 
	Hibernate框架内部提供,格式和SQL语句非常类似,区别SQL 面向数据表查询语句, HQL面向Java类和对象查询语句 

HQL查询
	   String hql = "from Person";//面向类和对象
	   Query query = session.createQuery(hql); //获得Query对象
           List<Person> persons= query.list();//执行查询

SQL 查询
	   String sql = "select * from person";
	   SQLQuery sqlQuery = session.createSQLQuery(sql);

所以总的来说,hiberante的配置文件,和映射文件是实现的关键。

 

 

 

分享到:
评论

相关推荐

    增删改查例子

    例如,可以通过Hibernate提供的`Session`对象来执行增删改查等操作。 ```java package com.fejd.companyrm.dao; import java.util.List; import com.fejd.companyrm.model.Employee; public interface ...

    Hibernate3学习笔记(一)-hibernate概述和简单实例入门

    5. **CRUD操作**:演示如何使用Hibernate进行增删改查操作,包括save()、update()、delete()和load()、get()方法。 6. **HQL和Criteria查询**:讲解Hibernate特有的查询语言HQL,以及Criteria API,它们是如何替代...

    Hibernate入门

    #### Hibernate概述与ORM思想 - **定义**:Hibernate是一个开源的、轻量级的对象关系映射(Object-Relational Mapping,简称ORM)框架,它主要应用于JavaEE架构中的DAO(Data Access Object)层。通过提供一套完整...

    Hibernate入门教程.pdf

    - **基本CRUD操作**:学习如何使用Hibernate进行基本的数据增删改查操作。 - **查询技巧**:掌握HQL(Hibernate Query Language)和Criteria API等查询方式,以更灵活地从数据库中检索数据。 #### 四、ORM概述 **...

    hibernate教程,hibernate入门

    3. 使用 Session 进行增删改查操作,体验 Hibernate 的便利性。 4. 编写 HQL 查询或使用 Criteria API 进行复杂检索。 5. 学习如何使用缓存提升应用程序性能。 通过这个 Hibernate 入门教程,你应该能够理解 ...

    《Hibernate快速入门手册》

    5. **CRUD操作**:通过Hibernate进行数据库的增删改查操作,学习save()、update()、delete()和get()等方法的使用。 6. **HQL和QBC查询**:学习Hibernate查询语言(HQL)和Criteria API,理解它们与SQL的区别,并...

    Hibernate 课件_基础入门

    **实现业务逻辑**:编写应用程序代码,使用Hibernate提供的API进行数据的增删改查操作。 - **示例**:以创建一个简单的新闻条目为例,首先定义一个`News.java`类,然后使用Hibernate进行数据的持久化操作。这个...

    Hibernate快速入门实例

    - 执行增删改查等操作。 - 关闭`Session`和`SessionFactory`。 #### 七、运行测试 最后,运行测试类以验证所有操作是否正确无误。如果一切顺利,应该可以看到预期的结果输出。 #### 八、总结 通过以上步骤,我们...

    hibernate入门课件共24页.pdf.zip

    3. Session:Hibernate的工作核心,负责对象的持久化操作,提供增删改查的功能。 4. Transaction:处理数据库事务,确保数据的一致性。 5. Query:提供了HQL(Hibernate Query Language)和Criteria API,用于查询...

    hibernate 入门PPT

    - CRUD操作:演示如何使用Session进行增删改查操作,包括save()、update()、delete()和get()、load()方法。 - Transaction管理:理解事务在Hibernate中的应用,使用Transaction进行原子性操作。 6. **Criteria...

    hibernate入门文档

    4. **编写业务逻辑**:使用Hibernate API进行对象的增删改查操作。 5. **测试验证**:运行应用,验证数据持久化是否成功。 通过上述分析,我们可以看到,Hibernate不仅极大地简化了Java应用与数据库的交互,还提高...

    hibernate入门

    4. Session:是与数据库的会话,负责实体的持久化操作,如增删改查。 5. Transaction(事务):Hibernate支持JTA和JDBC事务管理,确保数据操作的一致性。 **四、基本操作** 1. CRUD操作:Create(创建)、Read...

    入门Hibernate

    Hibernate是一款强大的Java持久化框架,它简化了数据库与Java对象之间的交互,使得开发者无需编写大量的SQL语句,就能实现数据的增删改查。本教程将引导你入门Hibernate,通过一个简单的Java应用实例,理解其基本...

    Hibernate入门(上)笔记.pdf.zip

    它提供了增删改查(CRUD)操作,以及事务管理。例如,save()方法用于持久化对象,get()和load()用于获取对象,update()和merge()用于更新,delete()用于删除。 六、Criteria查询 Hibernate提供了Criteria API,允许...

    Hibernate学习入门教程

    - **Session**: 代表与数据库的一次会话,提供了增删改查等操作接口。 - **Transaction**: 事务管理,确保一组操作要么全部完成,要么全部不执行。 - **Mapping**: 映射机制,即Java对象与数据库表之间的映射关系,...

    hibernate中文ppt详解配置

    - **Hibernate应用**:学会使用Hibernate实现数据的持久化,包括数据库的增删改查操作,以及HQL(Hibernate Query Language)和Criteria API的查询方式。 - **Oracle数据库操作**:掌握Oracle数据库的常见操作及性能...

    传智播客-hibernate框架开发视频第day01-day04资料

    - CRUD操作:掌握如何通过Hibernate实现增删改查的基本操作。 - HQL与Criteria查询:学习Hibernate特有的查询语言HQL,以及Criteria API,用于更灵活的查询。 - 数据缓存:了解Hibernate的二级缓存机制,提高应用...

Global site tag (gtag.js) - Google Analytics