用hibernate.properties代替hibernate.cfg.xml配置常用的属性

我们使用hibernate时经常在hibernate.cfg.xml文件中配置数据库连接的相关属性,是否显示sql语句,数据库的方言等,这些配置其实也可以在.properties文件中配置。现在我把这把文件的名字起为:hibernate.properties.

思路:写一个domian对象,以及这个domain对象映射到数据库中的.hbm.xml文件。和一个测试类(这个测试类是更新数据库中的一条数据)

以及hibernate.properties文件(这个文件是放在src的下面即在classPath的根目录下)

一:domain Person的代码是:

package com.qls.domain;

import java.util.Date;

/**
 * Created by 秦林森 on 2017/5/21.
 */
public class Person {
    private Integer id;
    private String  name;
    private Date enterCampusDate;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Date getEnterCampusDate() {
        return enterCampusDate;
    }

    public void setEnterCampusDate(Date enterCampusDate) {
        this.enterCampusDate = enterCampusDate;
    }
}

二:Person.hbm.xml文件的代码如下:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.qls.domain">
    <class name="Person" table="person">
<id name="id" column="person_id">
<generator class="native"/>
</id>
<property name="name"/>
<property name="enterCampusDate" type="timestamp"/>
        </class>
        </hibernate-mapping>

三:hibernate.properties文件的代码如下:

#the row end do not add semicolon;
hibernate.show_sql=true
hibernate.connection.driver_class=oracle.jdbc.OracleDriver
hibernate.connection.url=jdbc:oracle:thin:@localhost:1521:orcl
hibernate.connection.username=scott
hibernate.connection.password=a123456
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
hibernate.connection.pool_size=10

四:测试类

package com.qls.test;

import com.qls.domain.Person;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl;
import org.hibernate.cfg.Configuration;
import org.hibernate.cfg.ImprovedNamingStrategy;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * Created by ${秦林森} on 2017/5/22.
 */
public class Test12 {
    public static void main(String[] args) {
        Configuration configuration = new Configuration().addResource("/com/qls/domain/Person.hbm.xml");
        InputStream in = Test12.class.getClassLoader().getResourceAsStream("hibernate.properties");
        Properties properties = new Properties();
        try {
            properties.load(in);
        } catch (IOException e) {
            e.printStackTrace();
        }
        configuration.setProperties(properties);
        SessionFactory sessionFactory = configuration.buildSessionFactory();
        Session session = sessionFactory.openSession();//一次会话
        Transaction tx = session.beginTransaction();//开启事务
        Person person=session.get(Person.class,24);
        person.setName("人民万岁");
        session.update(person);
        tx.commit();//提交事务。
    }
}
时间: 2024-11-05 17:19:23

用hibernate.properties代替hibernate.cfg.xml配置常用的属性的相关文章

hibernate.properties和hibernate.cfg.xml

hibernate.properties和hibernate.cfg.xml 博客分类: 框架技术 HibernateXMLSQLOracleJDBC hibernate配置文件可以有两种方式:官方推荐的XML配置文件和属性配置文件.我们大都采用XML方式的配置,因为结构良好,配置灵活,可读性强.而且可以在XML中直接配置映射文件而属性文件则不行.但是我们可能忽略的一个问题是:hibernate首先查找的配置文件却是属性配置文件hibernate.properties.     看看下面这张图,

hibernate.cfg.xml配置(Oracle+c3p0)

说明:数据库:Oracle10g:连接池:c3p0 结构: 一.配置hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforg

hibernate4配置文件hibernate.cfg.xml配置详解

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"&

Hibernate--hibernate.cfg.xml配置

数据库连接<required>: <property name="hibernate.connection.driver_class"> com.mysql.jdbc.Driver</property><property name="hibernate.connection.username">root</property><property name="hibernate.connecti

Spring之XML配置Bean的属性注入

Spring中XML文件配置Bean的简单示例,如下: <bean id="car" class="com.smart.ditype.Car"> <property name="color"> <value>红色</value> </property> </bean> 注:在上述例子中,<property>标签对应的属性类型是基础数据类型,Spring容器会将它的

笔记:MyBatis XML配置-Settings 完整属性表

设置参数 描述 有效值 默认值 cacheEnabled 该配置影响的所有映射器中配置的缓存的全局开关. true | false true lazyLoadingEnabled 延迟加载的全局开关.当开启时,所有关联对象都会延迟加载. 特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态. true | false false aggressiveLazyLoading When enabled, any method call will load all the lazy pr

Hibernate.cfg.xml文件的配置

1.  Hibernate配置 1.1.  可编程的配置方式 一个org.hibernate.cfg.Configuration 实例代表了一个应用程序中Java类型到SQL数据库映射的完整集合.Configuration被用来构建一个 SessionFactory. 映射定义则由不同的XML映射定义文件编译而来. 可以直接实例化Configuration来获取一个实例,并为它指定XML映射定义文件. 如果映射定义文件在类路径(classpath)中,请使用addResource(): Conf

Hibernate 中配置属性详解(hibernate.properties)

Hibernate能在各种不同环境下工作而设计的, 因此存在着大量的配置参数.多数配置参数都 有比较直观的默认值, 并有随 Hibernate一同分发的配置样例hibernate.properties 来展示各种配置选项. 所需做的仅仅是将这个样例文件复制到类路径 (classpath)下并做一些自定义的修改. 属性1.Hibernate JDBC属性 属性名 用途 hibernate.connection.driver_class jdbc驱动类 hibernate.connection.ur

spring applicationContext.xml和hibernate.cfg.xml设置

applicationContext.xml配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://ww