Eclipse下Hibernate配置

Hibernate

使用JDBC做数据库相关功能开发会做很多重复性的工作,比如创建连接,关闭连接,把字段逐一映射到属性中。 Hibernate把这一切都封装起来了,使得数据库访问变得轻松而简单,代码也更加容易维护。

主要功能如上所述,具体配置这里提一下(本人使用eclipse编辑器)

    1. 添加插件,下载jar包
      eclipse下的Install new sofeware 下添加插件链接(不同版本的eclipse使用的插件也有所不同,建议去官网找到适合自己eclipse的版本) 之后就是等待插件安装完成之后的重启.
      注意:这里只用找到Hibernate Tool选择即可,不用全部选择.Eclipse下Hibernate配置
      准备工作中需要找到Hibernate的jar包导入项目,才能使用下载地址(其他版本可以去官网查找)
    1. 创建项目,设置配置文件
      创建项目,导入所需使用的jar包.
      右键:project->property->java build path->libaries->add external jars
      src文件夹下创建hibernate.cfg.xml文件(该文件为配置文件)
 <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
 
 表示使用MYSQL语言,告诉Hibernate底层用的是什么数据库,它才知道应该用什么样的语言去对话。

<property name="current_session_context_class">thread</property>
 
这是Hibernate事务管理方式,即每个线程一个事务  

<property name="show_sql">true</property>

这表示是否在控制台显示执行的sql语句
    
<property name="hbm2ddl.auto">update</property>
   
这表示是否会自动更新数据库的表结构,有这句话,其实是不需要创建表的,因为Hibernate会自动去创建表结

<mapping resource="com/how2java/pojo/Product.hbm.xml" />

这表示Hibernate会去识别Product这个实体类
具体代码:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
       "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

	<session-factory>
		<!-- Database connection settings -->
		<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="connection.url">jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8</property>
		<property name="connection.username">root</property>
		<property name="connection.password">admin</property>
		<!-- SQL dialect -->
		<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
		<property name="current_session_context_class">thread</property>
		<property name="show_sql">true</property>
		<property name="hbm2ddl.auto">update</property>
		<mapping resource="com/how2java/pojo/Product.hbm.xml" />
	</session-factory>

</hibernate-configuration>

    1. 创建映射文件
      创建xxxx.hbm.xml格式文件.内容如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.how2java.pojo">
	<class name="Product" table="product_">
		<id name="id" column="id">
			<generator class="native">
			</generator>
		</id>
		<property name="name" />
		<property name="price" />
	</class>
	
</hibernate-mapping>

代码可以在可视化界面中自动生成.(当然,需要创建数据库表对应的相应类) 之后代码将类和数据库中的表准确对应,再之后的数据库操作将有Hibernate包中的已完成类来完成.简单方便.

    1. Hibernate具体操作流程
      1. 获取SessionFactory
      2. 通过SessionFactory 获取一个Session
      3. 在Session基础上开启一个事务
      4. 通过调用Session的save方法把对象保存到数据库
      5. 提交事务
      6. 关闭Session
      7. 关闭SessionFactory
    1. 具体原理

      hibernate.cfg.xml 配置文件提供链接数据库的基本信息
      账号 密码 驱动 数据库ip 端口
      Product.hbm.xml 映射文件提供对象与表的映射关系
      对应哪个表? 什么属性,对应什么字段

    Eclipse下Hibernate配置