笔记:Hibernate 框架配置说明
下载 Hibernate ,打开地址
www.hibernate.org
,点击 Hibernate ORM -> Downloads 下载 4.3.11 版本,要使用Hibernate 需要把 Lib 下面的 required 目录和 optional\c3p0 复制到站点的 WEB-INF\lib 目录下,其中 required 目录是 Hibernate 的必须库;optional\c3p0 目录是C3P0数据源必须库;将数据源驱动也复制到 WEB-INF\lib 目录下,如果是MySQL数据库,可以到
www.mysql.com
站点下载。
- Hibernate 配置文件,可以使用 *.properties 属性文件,也可以使用XML文件配置,下面使用XML文件配置:
- 配置文件结构如下:
<?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>
<property name="属性名称">属性值</property>
…… 多个属性配置
<mapping class="持久化类的类名称"/>
…… 多个持久化类的类名称
</session-factory>
</hibernate-configuration>
- property 说明
- C3P0 属性名称 connection.driver_class:指定连接数据库所用的驱动,MySQL 示例 com.mysql.jdbc.Driver
- C3P0 属性名称 connection.url:指定数据库的连接 URL,MySQL示例 jdbc:mysql://数据库服务器地址/数据库名称
- C3P0 属性名称 connection.username:数据库登录用户名称
- C3P0 属性名称 connection.password:数据库登录用户密码
- C3P0 属性名称 dialect:指定数据库的方言,MySQL 示例 org.hibernate.dialect.MySQLInnoDBDialect
- C3P0 属性名称 hibernate.c3p0.max_size:连接池里最大连接数
- C3P0 属性名称 hibernate.c3p0.min_size:连接池里最小连接数
- C3P0 属性名称 hibernate.c3p0.timeout:指定连接池里连接超时时长
- C3P0 属性名称 hibernate.c3p0.max_statements:指定连接池最大缓存多少个 Statements
- C3P0 属性名称 hibernate.c3p0.idle_test_period:
- C3P0 属性名称 hibernate.c3p0.validate:
- 属性名称 show_sql:显示 Hibernate 持久化生成的SQL
- 属性名称 hibernate.format_sql:将SQL脚本进行格式化后再输出
- 属性名称 hibernate.use_sql_comments:是否在Hibernate生成的SQL语句中添加有助于调试的注释
- 属性名称 hibernate.jdbc.batch_size:指定JDBC2 批量更新的大小,整数值
- 属性名称 hbm2ddl.auto:对表结构进行操作
- 值 create:
每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行; - 值 create-drop:
每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除; - 值 update:
第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据 model类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等应用第一次运行起来后才会; - 值 validate:
每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值
- 值 create:
- 属性名称 hibernate.current_session_context_class:设置 SessionFactory.getCurrentSession() 的底层实现类型
- 值 thread:使用 org.hibernate.context.ThreadLocalSessionContext 实现,通过当前正在执行的线程来跟踪和界定上下文相关的 Session
- 值 jta:使用 org.hibernate.context.JTASessionContext 实现,根据JTA来跟踪和界定上下文相关的 Session
- 值 managed:org.hibernate.context.ManagedSessionContext 实现,通过当前执行的线程来跟踪和界定上下文相关的Session,但程序需要使用整个类的静态方法将Session实例绑定、取消绑定,他不会自动打开、flush或者关闭
- mapping 说明
- 属性 class:持久化类的类名称
- 属性 resource:持久化类的映射文件
笔记:Hibernate 框架配置说明的更多相关文章
- [ 学习笔记 ] Hibernate框架学习之一
一.JavaEE开发三层结构和三大框架的对应关系: Struts2框架 -> 表现层 web层(MVC是表现层的设计模型) 业务层 service层 Hibernate框架 -> 持久层 ...
- Hibernate学习笔记--Hibernate框架错误集合及解决
错误1:MappingException: Unknown entity解决方案 http://jingyan.baidu.com/article/e75aca8552761b142edac6cf.h ...
- j2ee开发之hibernate框架学习笔记
hibernate框架技术重点学习笔记 1.针对不同的数据库,有不同的数据库实现类,使其符号对应的数据库? mysqlDaoImpl oracleDaoImpl ... ... 2.对象和表记录的转换 ...
- hibernate框架学习笔记6:事务
MySQL的事务.JDBC事务操作: 详细见这篇文章:比较详细 http://www.cnblogs.com/xuyiqing/p/8430214.html 如何在hibernate中配置隔离级别: ...
- hibernate框架学习笔记3:API详解
Configuration对象: package api; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configur ...
- hibernate框架学习笔记2:配置文件详解
实体类: package domain; public class Customer { private Long cust_id; private String cust_name; private ...
- hibernate框架学习笔记1:搭建与测试
hibernate框架属于dao层,类似dbutils的作用,是一款ORM(对象关系映射)操作 使用hibernate框架好处是:操作数据库不需要写SQL语句,使用面向对象的方式完成 这里使用ecli ...
- Hibernate框架笔记02_主键生成策略_一级缓存_事务管理
目录 0. 结构图 1. 持久化类的编写规则 1.1 持久化和持久化类 1.2 持久化类的编写规则 2. 主键生成策略 2.1 主键的分类 2.2 主键生成策略 3. 持久化类的三种状态[了解] 3. ...
- Hibernate框架笔记01_环境搭建_API_CRUD
目录 1. Hibernate框架的概述 1.1 什么是框架 1.2 经典三层架构 1.3 Hibernate框架 2 Hibernate入门 2.1 下载Hibernate的开发包 2.2 创建项目 ...
随机推荐
- 6.2 PowerPC处理器如何处理MSI中断请求
PowerPC处理器使用OpenPIC中断控制器或者MPIC中断控制器,处理外部中断请求.其中MPIC中断控制器基于OpenPIC中断控制器,但是作出了许多增强,目前Freescale新推出的Powe ...
- html头部规范书写
建立标准化的声明(DOCTYPE)和head 以前的网页,甚至大型的门户网站也连个声明也没有,就仅仅是<html>,现在要做的就是给你的网页加上声明,规范head区域,让搜索引擎和喜欢你的 ...
- Nginx负载均衡和反向代理的配置和优化
负载均衡 负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位, 反向代理 是指以代理服务器来接受internet上的请求,然后将请求转给内部的服务器 常见的负载均衡 1. ...
- 关于FusionCharts图表宽度width的设置问题导致图表显示异常的解决办法
关于FusionCharts图表宽度width的设置问题导致图表显示异常的解决办法 题设: 经常使用FusionCharts图表的朋友可能会遇到这个问题.就是在FusionCharts显示的时候有时候 ...
- windows下使用docker安装tensorflow
一.安装Docker 1.首先先按照docker,从https://get.daocloud.io/toolbox/ 下载exe文件就好 双击安装会多出来三个东西: Oracle VM Virtua ...
- java web面试题
java web面试题 第1题. 编写一个Filter,需要() A. 继承Filter 类 B. 实现Filter 接口 C. 继承HttpFilter 类 D. 实现HttpFilter ...
- Windows gsl runtime error的解决方案
经过两天多的奋战,终于把GLAD源码集成进来了. 在编译.链接都正确,程序开始跑之后,又出了一个让人很无奈的runtime error, 就在 /* Initialize minimizer */ T ...
- Vasya and Basketball CodeForces - 493C
Vasya follows a basketball game and marks the distances from which each team makes a throw. He knows ...
- freemarker获取封装类中对象的属性(六)
freemarker获取封装类中对象的属性 1.设计思路 (1)封装学生类 (2)创建数据模型 (3)新建student.ftl (4)运行Junit测试文件,生成HTML文件 2.封装学生类 Stu ...
- CentOS7安装dnf报错:No package dnf available
1.百度中提供的安装办法 yum install epel-release -y yum install dnf 2. No package dnf available解决办法 运行一下几个命令: w ...