Eclipse下Hibernate配置
Hibernate
使用JDBC做数据库相关功能开发会做很多重复性的工作,比如创建连接,关闭连接,把字段逐一映射到属性中。 Hibernate把这一切都封装起来了,使得数据库访问变得轻松而简单,代码也更加容易维护。
主要功能如上所述,具体配置这里提一下(本人使用eclipse编辑器)
-
- 创建项目,设置配置文件
创建项目,导入所需使用的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>
-
- 创建映射文件
创建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包中的已完成类来完成.简单方便.
-
- Hibernate具体操作流程
- 获取SessionFactory
- 通过SessionFactory 获取一个Session
- 在Session基础上开启一个事务
- 通过调用Session的save方法把对象保存到数据库
- 提交事务
- 关闭Session
- 关闭SessionFactory
- Hibernate具体操作流程
-
-
具体原理
hibernate.cfg.xml 配置文件提供链接数据库的基本信息
账号 密码 驱动 数据库ip 端口
Product.hbm.xml 映射文件提供对象与表的映射关系
对应哪个表? 什么属性,对应什么字段
-