Hibernate.cfg.xml配置分析讲解

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 学习Hibernate时,经常会遇到Hibernate.cfg.xml配置问题,这里将介绍Hibernate.cfg.xml配置问题的解决方法。Hibernate的描述文件可以是一个properties属性文件,也可以是一个xml文件。下面讲一下Hibernate.cfg.xml配置。配置格式如下:

学习Hibernate时,经常会遇到Hibernate.cfg.xml配置问题,这里将介绍Hibernate.cfg.xml配置问题的解决方法。

Hibernate的描述文件可以是一个properties属性文件,也可以是一个xml文件。下面讲一下Hibernate.cfg.xml配置。配置格式如下:


1. 配置数据源

可以Hibernate.cfg.xml配置JDBC,也可以配置JNDI.在本小节中讲述数据源如何配置。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE hibernate-configuration PUBLIC  
  3. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  4. "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
  5. <hibernate-configuration>
  6. <session-factory>
  7. <!-- 各属性的配置-->
  8. <!—为true表示将Hibernate发送给数据库的sql显示出来 -->
  9. <property name="show_sql">true</property>
  10. <!-- SQL方言,这边设定的是MySQL -->
  11. <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
  12. <!-- 一次读的数据库记录数 -->
  13. <property name="jdbc.fetch_size">50</property>
  14. <!-- 设定对数据库进行批量删除 --  
  15. <property name="jdbc.batch_size">30</property>
  16. <!—下面为JNDI的配置 -->
  17. <!-- 数据源的名称 -->
  18. <property name="connection.datasource">java:comp/env/jdbc/datasourcename</property>
  19. <!-- Hibernate的连接加载类 -->
  20. <property name="connection.provider_class">net.sf.hibernate. connection.DatasourceConnectionProvider</property>
  21. <property name="dialect">net.sf.hibernate.dialect.SQLServerDialect</property>
  22. <!—映射文件 -->
  23. <mapping resource="com/amigo/pojo/User.hbm.xml"/>
  24. <mapping resource="com/amigo/pojo/Org.hbm.xml"/>
  25. </session-factory>
  26. </hibernate-configuration>

2. c3p0连接池

c3p0连接池是Hibernate推荐使用的连接池,若需要使用该连接池时,需要将c3p0的jar包加入到classpath中。c3p0连接池的配置示例如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE hibernate-configuration PUBLIC  
  3. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  4. "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
  5. <hibernate-configuration>
  6. <session-factory
  7. <!-- 显示实际操作数据库时的SQL -->
  8. <property name="show_sql">true</property>
  9. <!-- SQL方言,这边设定的是MySQL -->
  10. <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
  11. <!--驱动程序,在后续的章节中将讲述mysql、sqlserver和Oracle数据库的配置 -->
  12. <property name="connection.driver_class">……</property
  13. <!-- JDBC URL -->
  14. <property name="connection.url">……</property>
  15. <!-- 数据库用户名 -->
  16. <property name="connection.username">user</property>
  17. <!-- 数据库密码 -->
  18. <property name="connection.password">pass</property>
  19. <property name="c3p0.min_size">5</property
  20. <property name="c3p0.max_size">20</property>
  21. <property name="c3p0.timeout">1800</property>
  22. <property name="c3p0.max_statements">50</property>
  23. <!-- 对象与数据库表格映像文件 -->
  24. <mapping resource="com/amigo/pojo/User.hbm.xml"/>
  25. <mapping resource="com/amigo/pojo/Org.hbm.xml"/>
  26. </session-factory>
  27. </hibernate-configuration>


在上述配置中,Hibernate根据配置文件生成连接,再交给c3p0管理。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 缓存 Java
框架分析(9)-Hibernate
框架分析(9)-Hibernate
|
2月前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——TestStu.java
hibernate正向生成数据库表以及配置——TestStu.java
|
2月前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Teacher.hbm.xml
hibernate正向生成数据库表以及配置——Teacher.hbm.xml
|
2月前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Teacher.java
hibernate正向生成数据库表以及配置——Teacher.java
|
2月前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Student.java
hibernate正向生成数据库表以及配置——Student.java
|
2天前
|
XML Ubuntu Linux
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
|
8天前
|
XML Java 数据库
配置applicationContext.xml文件
配置applicationContext.xml文件
|
5天前
|
XML Java 关系型数据库
Action:Consider the following: If you want an embedde ,springBoot配置数据库,补全springBoot的xml和mysql配置信息就好了
Action:Consider the following: If you want an embedde ,springBoot配置数据库,补全springBoot的xml和mysql配置信息就好了
|
6天前
|
XML Java 数据库
配置applicationContext.xml文件
配置applicationContext.xml文件
|
10天前
|
XML 数据格式
XML配置Servlet文件,不使用注解配置路径的方法
XML配置Servlet文件,不使用注解配置路径的方法