Hibernate配置文件

Hibernate配置文件

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

   进入Java的学习,没少接触配置文件,尤其学习SSH时,配置文件尤其多,Struts配置文件Struts.xmlSpring配置文applicationContext.xml,Hibernate配置文件Hibernate.propertieshibernate.cfg.xml

   最初接触这些配置文件时,仅仅有一个感觉:好麻烦!!总认为每做一项工作,还要考虑配置文件里须要加入�个什么标签属性的,假设没加入�或加入�错了,整个项目就无法正常执行。可是,后来随着学习的逐渐深入,即便深入的也不是非常多,体会到了这些配置文件的强大。或许这就是开源的风格——看似麻烦,可是功能强大,而且灵活。

    初步接触Hibernate,通过实现一个个简单实例,我体会到了它的长处:首先,使用Hibernate,不须要写JDBC语句,不仅提高了工作效率,代码简单了,而且它真正实现了面向对象,我们仅仅需操作对象就可以,不须要直接与数据库打交道;其次,Hibernate不涉及Sql语句,再加上Hibernate配置文件里有方言的配置,这样就提高了代码的可移植性。   

    Hibernate的长处有非常多,今后的学习中会慢慢体会。这篇博客并不是是对Hibernate长处的总结。 

    此篇博客想对Hibernate配置文件做一个简单的总结,尽仅是自己的理解。

 

1,主要作用?

Hibernate配置文件主要用于数据库连接盒Hibernate执行时所需的各种属性

2,支持形式?

第一种:Java属性格式——Hibernate.properties

另外一种:xml格式——Hibernate.cfg.xml

 

实际开发中使用Hibernate.cfg.xml配置文件比較多,由于此种配置文件能够直接对映射文件进行配置,并由Hibernate自己主动载入;而properties文件则必须在程序中通过编码载入映射文件。

3Hibernate.cfg.xml

经常使用属性:

connection.url:数据库url

Connection.username:数据库用户名;

Connection.password:数据库用户密码;

Connection.driver-class:数据库JDBC驱动;

Show-sql:是否将执行期生成的Sql输出到日志以供调试。取值true/false

Dialect:配置数据库的方言,依据底层的数据库不同产生不同的Sql语句,Hibernate会针对数据库的特性在訪问时进行优化;

Hbm2ddl.auto:在启动和停止时自己主动创建,更新或删除数据库模式。取值create/update/create-drop

Mapping resource:映射文件配置,配置文件名称必须包括其相对于跟的全路径;

Connection.datesource:JNDI数据源的名称

4,样例

<span style="font-size:18px;"><?xml version='1.0' encoding='UTF-8'?>
	<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">


	<hibernate-configuration>
		<session-factory>
			<!--数据库驱动-->
			<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
			<!--连接字符串-->
			<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_first</property>
			<!--连接数据库的用户名-->
			<property name="hibernate.connection.username">user</property>
			<!--数据库用户密码-->
			<property name="hibernate.connection.password">root</property>
			<!--选择使用的方言-->
			<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
			<!--显示运行的SQL语句-->
			<property name="hibernate.show_sql">true</property>
			
			<!--映射文件 -->
			<mapping resource="com/zs/hibernate/User.hbm.xml"/>
		</session-factory>
	</hibernate-configuration></span>

5,总结

Hibernate:(1)开源的对象关系映射框架;(2)对JDBC进行了轻量级对象封装,使程序猿能够使用对象编程思想来曹总数据库;(3)Hibernate能够应用在不论什么使用JDBC的场合,既能够在Java的client程序使用,也能够在sevelet/jsp的web应用中使用。总之,Hibernate使编程更加面向对象化。





版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118603.html原文链接:https://javaforall.net

(0)
上一篇 2021年12月3日 下午8:00
下一篇 2021年12月3日 下午9:00


相关推荐

  • navicat永久激活码最新【2021免费激活】

    (navicat永久激活码最新)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~0X1Z…

    2022年3月28日
    118
  • ldap统一用户认证php,Docker搭建OpenLDAP+phpLDAPadmin统一用户认证的方法「建议收藏」

    一、背景使用LDAP对运维相关用户名密码做统一管理。可以实现一个帐号登录多个不同系统。手动部署都是各种问题,后来采用Docker部署,参考了好多教程文档总结如以下内容亲测可用二、部署Docker搭建LDAP#拉取镜像dockerpullosixia/openldap:1.3.0#创建并进入映射目录mkdir-p/usr/local/ldap&&cd/usr/…

    2022年4月11日
    48
  • html页面透明度属性,css透明度是什么属性?

    html页面透明度属性,css透明度是什么属性?css 透明度属性指的是 opacity 属性 opacity 属性可以设置一个元素了透明度级别 下面本篇文章就来给大家介绍一下 CSSopacity 属性 有一定的参考价值 有需要的朋友可以参考一下 希望对大家有所帮助 cssopacity 属性用于设置一个元素了透明度级别 从 0 0 完全透明 到 1 0 完全不透明 通过该属性我们可以设置图片 文字 盒子模型等等的透明度 语法 opacity valu

    2026年3月17日
    2
  • 利用chardet检测网页编码

    环境:Win7_x64+python3.4.3需要先下载chardet并进行安装,下载地址:https://pypi.python.org/packages/source/c/chardet/c

    2021年12月25日
    45
  • sql2005数据库置疑的解决方法_sql数据库置疑修复工具

    sql2005数据库置疑的解决方法_sql数据库置疑修复工具数据库被置疑后的解决方法(一)A.我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQLServerEnterpriseManager 里面建立。B.停掉数据库服务器。C.将刚才生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据 库数据文件test_data.mdf。D.启动数据库服务器。此时会看

    2022年8月22日
    10
  • BigDecimal 类型比较大小

    BigDecimal 类型比较大小1.标准做法Longzero=0l;BigDecimalbig_decimal_num=newBigDecimal(zero);intr=big_decimal_num.compareTo(BigDecimal.ZERO);//和0,Zero比较if(r==0)//等于…

    2022年7月14日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号