配置hibernate.cfg.xml

hibernate配置文件包含连接持久层与映射文件所需的基本信息。配置文件名默认为hibernate.cfg.xml.

hibernate.cfg.xml文件配置

<span style="font-size:18px;"><!-- 配置文件的DTD信息 -->
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<!-- 配置文件的根元素 -->
<hibernate-configuration> <session-factory>
<!-- 配置数据库方言 -->
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<!-- 配置数据库连接URL -->
<property name="connection.url">
jdbc:mysql://localhost:3306/user
</property>
<!-- 配置数据库用户名 -->
<property name="connection.username">root</property>
<!-- 配置数据库密码 -->
<property name="connection.password">123456</property>
<!-- 配置数据库JDBC驱动 -->
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property> <property name="myeclipse.connection.profile">driver</property>
<!-- 底部输出sql语句 -->
<property name="show_sql">true</property>
<!-- 底部输出sql语句格式化 -->
<property name="hibernate.format_sql">true</property> <!-- 把配置文件导入核心文件 ,后面会写到 -->
<mapping resource="cn/dto/User.hbm.xml" /> </session-factory> </hibernate-configuration></span>

  

hibernate映射文件配置(*.hbm.xml)

持久化类的对象与关系数据库之间的映射关系通过.xml文件配置,通常命名为持久化类名.hbm.xml,这个文件一般放在持久化类对象相同路径下

*.hbm.xml文件配置(一般有多少持久化类对象就需要配置多少配置文件)
以User.hb,.xml文件配置举例
User.hbm.xml
<span style="font-size:18px;"><!-- 配置文件的DTD信息 -->
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<!-- 配置类和表的对应
class标签
name属性 :实体类的全路径(也就是User.java的路径)
table属性:数据库表的名字
-->
<class name="cn.dto.User" table="t_user" catalog="user">
<!-- 配置实体类id与表id对应
hibernate要求实体类有一个属性问一值
id标签
name属性 实体类里面id的属性名
column name:表字段名称
-->
<id name="uid" type="java.lang.Integer">
<!-- column name:表字段名称
generator 设置数据表id的增长策略
native 主键自增长
-->
<column name="uid" />
<generator class="identity" />
</id> <property name="username" type="java.lang.String">
<column name="username" length="32" />
</property>
<property name="password" type="java.lang.String">
<column name="password" length="32" />
</property>
<property name="address" type="java.lang.String">
<column name="address" length="32" />
</property>
</class>
</hibernate-mapping></span>

  

配置文件扩展

hibernate.cfg.xml配置C3P0连接池

<span style="font-size:18px;"><!-- 设置c3p0连接池的最大连接数 -->
<property name="hibernate.c3p0.max_size">50</property>
<!-- 设置c3p0连接池的最小连接数 -->
<property name="hibernate.c3p0.min_size">1</property>
<!-- 设置c3p0连接池中连接的超时时长,超出时抛出异常,单位为毫秒 -->
<property name="hibernate.c3p0.timeout">1000</property>
<!-- 设置c3p0缓存statements的数量 -->
<property name="hibernate.c3p0.max_statements">60</property></span>

  

更多的c3p0连接池配置,请参考hibernate的etc子目录的properties文件

*.hbm.xml---集合的映射配置

set,map, list集合配置

<集合类映射元素>
<集合外键>
<j集合索引字段>
<集合元素/>
</集合类映射元素>

Hibernate学习笔记(2)---hibernate核心文件的更多相关文章

  1. Hibernate学习笔记(六) — Hibernate的二级缓存

    我们知道hibernate的一级缓存是将数据缓存到了session中从而降低与数据库的交互.那么二级缓存呢? 一.应用场合 比方.在12306购票时.须要选择出发地与目的地,假设每点一次都与数据库交互 ...

  2. hibernate学习笔记之四 Hibernate的增删改查

    采用JUnit测试,继承TestCase import java.util.Date; import junit.framework.TestCase; import org.hibernate.Se ...

  3. hibernate学习笔记之一 hibernate简介

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架 hibernate可以自动生成SQL语句,自 ...

  4. Hibernate学习笔记(二)

    2016/4/22 23:19:44 Hibernate学习笔记(二) 1.1 Hibernate的持久化类状态 1.1.1 Hibernate的持久化类状态 持久化:就是一个实体类与数据库表建立了映 ...

  5. Hibernate学习笔记(一)

    2016/4/18 19:58:58 Hibernate学习笔记(一) 1.Hibernate框架的概述: 就是一个持久层的ORM框架. ORM:对象关系映射.将Java中实体对象与关系型数据库中表建 ...

  6. Hibernate 学习笔记一

    Hibernate 学习笔记一 今天学习了hibernate的一点入门知识,主要是配置domain对象和表的关系映射,hibernate的一些常用的配置,以及对应的一个向数据库插入数据的小例子.期间碰 ...

  7. Hibernate学习笔记-Hibernate HQL查询

    Session是持久层操作的基础,相当于JDBC中的Connection,通过Session会话来保存.更新.查找数据.session是Hibernate运作的中心,对象的生命周期.事务的管理.数据库 ...

  8. [java学习笔记]java语言核心----面向对象之this关键字

    一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数 ...

  9. [java学习笔记]java语言核心----面向对象之构造函数

    1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:                给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...

  10. python学习笔记(六)文件夹遍历,异常处理

    python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...

随机推荐

  1. js事件底层原理探究

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  2. 数据库中的參照完整性(Foreign Key)

    之前在项目中遇到了这样一个问题,我举得简单的样例来说明. 比方我们有两个表,一个表(department)存放的是部门的信息,比如部门id,部门名称等:还有一个表是员工表(staff),员工表里面肯定 ...

  3. ASP.MVC当URL跳转时候参数的安全性

    一个页面跳转到另外一个页面直接将参数写在URL上面并不安全比如 http://XXXXXXXXXXX/meeting/shakeGroup?id=5381&uid=o0En_sj1J0bFgI ...

  4. AntiXSS的作用

    XSS跨站脚本攻击        是指用户输入HTML编码对网站进行跨站攻击.            通过使用FCKeditor.FreeTextBox.Rich TextBox.Cute Edito ...

  5. CentOS 7 安装.NET Core 2.0

    一.添加dotnet产品Feed 在安装.NET Core之前,您需要注册Microsoft产品Feed. 这只需要做一次. 首先,注册Microsoft签名密钥,然后添加Microsoft产品Fee ...

  6. 根据实践经验,讲述些学习Java web能少走的弯路,内容摘自java web轻量级开发面试教程

    在和不少比较上进的初级程序员打交道的过程中,我们总结出了一些能帮到合格程序员尽快进阶的经验,从总体上来讲,多学.多实践不吃亏.本文来是从 java web轻量级开发面试教程从摘录的. 1  哪些知识点 ...

  7. 聚集索引VS非聚集索引

    聚集索引VS非聚集索引 SQL Server 2014 发布日期: 2016年12月 索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度. 索引包含由表或视图中的一列或多列生成的键. ...

  8. cron任务解释

    cron本来是在linux下的一个定时任务执行工具,现在很多语言都支持cron,本文参考https://en.wikipedia.org/wiki/Cron,解释一下cron配置. 概述 cron配置 ...

  9. 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)

    ##机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)---#####注:机器学习资料[篇目一](https://github.co ...

  10. MySQL锁总结

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/78 MySQL 锁基础 参考了何登成老师文章的结构MySQL 加 ...