Hibernate 配置详解

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <!-- Database connection settings -->
        <property name="connection.driver_class"
>com.mysql.jdbc.Driver</property>
        <property name="connection.url"
>jdbc:mysql://192.168.1.241:3306/test</property>
        <property name="connection.username"
>dingyuming</property>
        <property name="connection.password"
>uniware</property>

        <!-- JDBC connection pool (use the built-in) -->
        <!--  <property name="connection.pool_size"
>1</property>-->

        <!-- SQL dialect -->
        <property name="dialect"
>org.hibernate.dialect.MySQLDialect</property>

        <!-- Enable Hibernate's automatic session context management -->
        <property name="current_session_context_class"
>thread</property>  
        <!-- Disable the second-level cache  -->
        <property name="cache.provider_class"
>org.hibernate.cache.NoCacheProvider</property>

        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql"
>true</property>

        <!-- Drop and re-create the database schema on startup -->
        <!--  <property name="hbm2ddl.auto"
>update</property>-->

        <mapping resource="com/hibernate/test/hibernate_IP.xml"/>
        <mapping class="com.hibernate.test.Student"/>

    </session-factory>

</hibernate-configuration
>


 

 

上一节配置了基本的hibernate

这次介绍一下配置文件

 

配置基本的jdbc连接

 <!-- Database connection settings -->
        <property name="connection.driver_class"
>com.mysql.jdbc.Driver</property>
        <property name="connection.url"
>jdbc:mysql://192.168.1.241:3306/test</property>
        <property name="connection.username"
>dingyuming</property>
        <property name="connection.password"
>uniware</property>


配置对应的数据库的“方言” 即按照该数据的sql语句来生成sql对象

<!-- SQL dialect -->
        <property name="dialect"
>org.hibernate.dialect.MySQLDialect</property>


显示执行的sql语句

    <!-- Echo all executed SQL to stdout -->
        <property name="show_sql"
>true</property>


 

hbm2ddl.auto四种标记

1.create 根据映射对象在数据库中创建表

2.update 对象改变之后 同时改变数据库中的表

3.create-drop sessionFactory关闭时删掉数据库

4.validate 对数据库中的表与映射对象做对比

<!-- Drop and re-create the database schema on startup -->
        <!--  <property name="hbm2ddl.auto"
>update</property>-->


 

 格式化显示sql语句

        <property name="format_sql">true</property> 


Session上下文,通过配置session上下文来获取当前的session

主要取值thread 从当前线程中获取;

jta 通常用于分布式系统:jta通常需要数据库支持:事务状况:数据有可能部署于不同的数据库,但是提交事务时,我们一般的事务管理做不到,这时候需要用到jta(java transaction api) 将事务交由transaction manager进行管理。

<property name="current_session_context_class"
>thread</property>


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值