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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Pycharm设置解释器「建议收藏」

    Pycharm设置解释器「建议收藏」背景:最近需要改文章,增加实验,要把之前的实验跑起来。其间,遇到一个很诡异的问题,在一个工程里跑得很正常的程序,到了另外一个工程里,相似的文件,只是修改了一点参数而已,就会报错,如ModuleNotFoundError:Nomodulenamed’tensorflow.contrib.slim’,当时就怀疑是不是解释器设置问题。由于当时夜黑风高,困意来袭,解释器位置设置竟然也找不到,作罢。第二天直接复制粘贴找问题原因无果。问题:果然是解释器设置问题。默认的解释器是base的python环境,由.

    2022年8月25日
    3
  • 【IObit】五大软件激活码( Advanced Systemcare….)

    【IObit】五大软件激活码( Advanced Systemcare….)IObitMalwareFighter6Pro激活成功教程:打开软件安装位置,下载替换dll文件链接: https://pan.baidu.com/s/1Euz87MCANuCnRqZs

    2022年7月2日
    281
  • C# OleDbCommand 和 OleDbDataReader 使用小结[通俗易懂]

    C# OleDbCommand 和 OleDbDataReader 使用小结[通俗易懂]usingSystem.Data;usingSystem.Data.OleDb;OleDbConnectionthisConnection=newOleDbConnection(      "Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+Server.MapPath("data.mdb"));//获取本地Access//数据库路径  …

    2022年5月12日
    53
  • java free hd 798,[https://www.798ziyuan.com/]Java入门级项目全程实录V2.0

    java free hd 798,[https://www.798ziyuan.com/]Java入门级项目全程实录V2.0Java入门级项目全程实录V2.0798资源网免责声明:[Java入门级项目全程实录V2.0]由分享人op**开源于2018-09-1119:35上传到百度网盘。此页面由蜘蛛程序自动抓取,以非人工方式自动生成,只作交流和学习使用。本网站本身不储存任何资源文件,其资源文件的安全性和完整性需要您自行判断,感谢您对本站的支持。Java入门级项目全程实录V2.0|____《Java入门级项…

    2022年7月7日
    15
  • matlab 求矩阵秩,用MATLAB编程求矩阵的秩

    matlab 求矩阵秩,用MATLAB编程求矩阵的秩fori=n:-1:1我明白了,就是极大无关组,我的这个程序把所有的基都写出来了,你只要选一个就可以,还对两种矩形的矩阵(例如2×3,3×2都测试了);如果谁会优化这个程序的会更好!代码如下:ji.m%A=[17241815%23571416%46132022%812264044]A=[1,0,1,2;2,0,2,4;1,-1,1,1…

    2022年5月7日
    69
  • vue上传图片组件编写

    vue上传图片组件编写点击打开源码编写一个vue上传图片组件:1.首先得有一个[type=file]文件标签并且隐藏,changge事件来获取图片:2.触发隐藏的文件标签:(通过原生的click来触发)document.getElementById(‘upload_file’).click()3.获取file文件里面的值方法:fileChange($event)fileCha

    2022年6月24日
    23

发表回复

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

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