进入Java的学习,没少接触配置文件,尤其学习SSH时,配置文件尤其多,Struts配置文件Struts.xml,Spring配置文applicationContext.xml,Hibernate配置文件Hibernate.properties、hibernate.cfg.xml。
最初接触这些配置文件时,仅仅有一个感觉:好麻烦!!总认为每做一项工作,还要考虑配置文件里须要加入�个什么标签属性的,假设没加入�或加入�错了,整个项目就无法正常执行。可是,后来随着学习的逐渐深入,即便深入的也不是非常多,体会到了这些配置文件的强大。或许这就是开源的风格——看似麻烦,可是功能强大,而且灵活。
初步接触Hibernate,通过实现一个个简单实例,我体会到了它的长处:首先,使用Hibernate,不须要写JDBC语句,不仅提高了工作效率,代码简单了,而且它真正实现了面向对象,我们仅仅需操作对象就可以,不须要直接与数据库打交道;其次,Hibernate不涉及Sql语句,再加上Hibernate配置文件里有方言的配置,这样就提高了代码的可移植性。
Hibernate的长处有非常多,今后的学习中会慢慢体会。这篇博客并不是是对Hibernate长处的总结。
此篇博客想对Hibernate配置文件做一个简单的总结,尽仅是自己的理解。
Hibernate配置文件主要用于数据库连接盒Hibernate执行时所需的各种属性
第一种:Java属性格式——Hibernate.properties
另外一种:xml格式——Hibernate.cfg.xml
实际开发中使用Hibernate.cfg.xml配置文件比較多,由于此种配置文件能够直接对映射文件进行配置,并由Hibernate自己主动载入;而properties文件则必须在程序中通过编码载入映射文件。
经常使用属性:
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数据源的名称
<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>