Hibernate框架概述

一、JDBC

1、什么是JDBC

JDBC,全名 JAVA数据库连接(java DataBase Connectivity)技术的简称,是由一组使用java语言编写的类与接口组成,可以为多种关系数据库提供统一访问。连接数据库后通过SQL来操作数据库的Java连接数据库的技术API。

2、JDBC的问题

  1. 从连接效率上考虑,每一个操作都要重新连接数据库,对数据库造成较大的压力。
  2. 从代码上考虑,我们每次操作都要写编译以及对连接的控制,还要考虑到事务的提交与回滚等,程序员重复性与验证性的工作量很大。
  3. JDBC使用的SQL语言对数据进行操作,不符合JAVA一直提倡的面向对象编程思想。JDBC操作的数据是“瞬时”的,变量的值无法与数据库保持一致。

二、hibernate

1、什么是hibernate

hibernate是轻量级JavaEE应用的一个持久层框架。它的作用在于管理Java实体类到数据库表之间的映射关系,提供数据查询和获取数据的方法,大幅度的缩短使用JDBC处理数据持久化的时间。hibernate完成了对象模型和基于SQL关系模型的映射关系,使得程序员可以采用面向对象的方式来开发程序,充当了两者之间的桥梁。

2、hibernate的jar包

  1. hibernate-core-4.2.7.Final.jar核心库
  2. hibernate-jpa-2.0-api-1.0.1.Final.jar定义java持久性
  3. hibernate-commons-annotations-4.0.2.Final.jar注解支持
  4. jboss-logging-3.1.0.GA.jar 日志功能 由它调用具体日志实现,如log4j等
  5. javassist-3.18.1-GA.jar 代码生成工具。Hibernate用它在运行时扩展java类和实现
  6. dom4j-1.6.1.jar  处理XML文件解析 C3p0、proxool  .jar配置连接池,非必须
  7. jboss-transaction-api_1.1_spec-1.0.1.Final.jar事务处理
  8. Ant.jar  打包和布署,非必须

maven管理时需要使用的导入语句

<!-- 导入hibernate核心相关jar包 -->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.1.0.Final</version>
</dependency>

3、hibernate的配置文件

(1)、名称

一般以hibernate.cfg.xml命名,也可以自己自定义命名

 (2)配置内容

<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>

     <!-- 配置hibernate的session工厂 -->
	<session-factory>
		<!-- 配置方言。就是告诉hibernate框架,现在操作的mysql数据库,其他数据库可以到
         hibernate-core jar包下的org.hibernate.dialect中查看
        -->
		<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
		
		<!-- 定义连接路径 -->
		<property name="connection.url">
			jdbc:mysql://localhost:3306/hibernate?characterEncoding=UTF-8
		</property>
		<!-- 定义连接名与密码 -->
		<property name="connection.username">root</property>
		<property name="connection.password"></property>
		<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
		
		<!-- hibernate指定使用c3p0连接池 -->
		<property name="hibernate.connection.provider_class">org.hibernate.c3p0.internal.C3P0ConnectionProvider</property>
		<!-- 指定连接池最大连接数 -->
		<property name="hibernate.c3p0.max_size">20</property>
		<!-- 指定连接池最小连接数 -->
		<property name="hibernate.c3p0.min_size">1</property>
		<!-- 指定连接池里连接超时时长 -->
		<property name="hibernate.c3p0.timeout">5000</property>

		<!-- 指定连接池里最大缓存多少个PreparedStatement对象 -->
		<property name="hibernate.c3p0.max_statements">100</property>
		<property name="hibernate.c3p0.idle_test_period">3000</property>
		<property name="hibernate.c3p0.acquire_increment">2</property>

		<!--以格式良好的方式显示SQL语句-->
		<property name="format_sql">true</property>
		<!--显示SQL语句-->
		<property name="show_sql">true</property>
		
		
		
		
		<!-- 配置hibernate的orm对象-表映射文件 下面的内容,可能发生一定的修改
            也可以使用<mapping package="配置文件的路径"/>
        -->
		<mapping resource="com/gezhi/hibernate/xml/ClassBean.hbm.xml"/>
		<mapping resource="com/gezhi/hibernate/xml/RoomBean.hbm.xml"/>
		<mapping resource="com/gezhi/hibernate/xml/OptLogBean.hbm.xml"/>
	
	</session-factory>
</hibernate-configuration>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值