`

如何在程序中设置Hibernate Configuration的Property

阅读更多
我们在使用Hibernate时一般都会编写一个hibernate.cfg.xml文件,并在其中配置一些连接数据库的属性。这在很多情况下都是非常合适的,但是如果需要动态获得数据库链接信息,这种方法就不行了。假设我们要根据用户的输入信息连接响应的数据库,该怎么办呢?

我们都知道,Hibernate的SessionFactory是通过Configuration获得的,hibernate.cfg.xml文件中配置很多信息都对应为Configuration的Property,因此只要可以为Configuration设置属性并添加hbm.xml信息,就可以动态的获得SessionFactory了。具体代码如下:

<!---->Properties jdbcPros = new Properties();
jdbcPros.setProperty("hibernate.connection.useUnicode", "true");
jdbcPros.setProperty("hibernate.connection.characterEncoding", "UTF-8");
jdbcPros.setProperty("hibernate.connection.driver_class", "org.gjt.mm.mysql.Driver");
jdbcPros.setProperty("hibernate.connection.url", "jdbc:mysql://localhost:3306/your_db");
jdbcPros.setProperty("hibernate.connection.username", "root");
jdbcPros.setProperty("hibernate.connection.password", "your_pw");
jdbcPros.setProperty("hibernate.dialect", "net.sf.hibernate.dialect.MySQLDialect");
jdbcPros.setProperty("hibernate.show_sql", "false");
jdbcPros.setProperty("hibernate.use_outer_join", "true");
jdbcPros.setProperty("hibernate.transaction.factory_class", "net.sf.hibernate.transaction.JTATransactionFactory");

Configuration cfg = 
new Configuration();
cfg.setProperties(jdbcPros);

try
 {
    cfg.addFile("A.hbm.xml");
    cfg.addFile("B.hbm.xml");
catch (MappingException e) {
    e.printStackTrace();
}

try {
    SessionFactory sessionFactory = cfg.buildSessionFactory();
}
catch (HibernateException e) {
    e.printStackTrace();
}

一目了然,代码说明了一切。我们可以为Configuration设置很多Property,其中一些是必须的,一些是可选的。具体的Property列表请参考Hibernate的Reference。
分享到:
评论

相关推荐

    hibernate小程序源码

    "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"&gt; &lt;!-- Generated by MyEclipse Hibernate Tools. --&gt; &lt;hibernate-configuration&gt; ...

    Hibernate开发jar包

    &lt;property name="hibernate.connection.url"&gt;jdbc:mysql:///hibernate&lt;/property&gt; &lt;property name="hibernate.connection.username"&gt;root&lt;/property&gt; &lt;property name="hibernate.connection.password"&gt;root&lt;/...

    Hibernate配置数据连接

    PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"&gt; &lt;hibernate-configuration&gt; &lt;!?JDBC驱动程序--&gt; &lt;property name=...

    Hibernate配置各种数据源详解

    &lt;hibernate-configuration&gt; &lt;!– 各属性的配置–&gt; &lt;!—为true表示将Hibernate发送给数据库的sql显示出来 –&gt; &lt;property name=”show_sql”&gt;true&lt;/property&gt; &lt;!– SQL方言,这边设定的是MySQL –&gt; &lt;property ...

    hibernate配置

    &lt;property name="数据库中表的其它字段所对应的持久化对象中的属性名" column="对应数据库中表的其它字段名" type="java.lang.String(数据库中其它字段的数据类型)"/&gt; &lt;/hibernate-mapping&gt; 三.配置hibernate...

    Hibernate1

    &lt;property name="connection.url"&gt;jdbc:mysql://127.0.0.1/hibernate&lt;/property&gt; &lt;property name="connection.username"&gt;root&lt;/property&gt; &lt;property name="connection.password"&gt;1234&lt;/property&gt; &lt;!-- SQL ...

    Hibernate注解编程实例

    &lt;!-- EJB注解编程 --&gt; &lt;hibernate-configuration&gt; &lt;property name="hibernate.connection.url"&gt; jdbc:mysql://localhost:3306/test &lt;/property&gt; &lt;property name="hibernate.connection.driver_cl

    Hibernate使用技巧汇总

    property-ref:关联类中用于与主控类相关联的属性名,默认为关联类的主键属性名 单向一对多需在一方配置,双向一对多需在双方进行配置 8.lazy=false:被动方的记录由hibernate负责记取,之后存放在主控...

    三步完成Hibernate + sql server200 + proxool连接池

    &lt;property name="hibernate.proxool.pool_alias"&gt;dbpool&lt;/property&gt; &lt;property name="hibernate.proxool.xml"&gt; ProxoolConf.xml &lt;/property&gt; &lt;property name="connection.provider_class"&gt; org.hibernate....

    Myeclipse开发struts+hibernate+spring新手入门--环境配置---项目开发示例

    同加载struts方式类似,选择Myeclipse后在弹出的二级菜单中选择Add Hibernate Capabilities…后提示如下图所示: 可以根据提示,选择Hibernate Specification:本项目选择Hibernate3,其他默认,Next&gt; 默认后直接...

    车间信息管理lxf_GraduationProject

    DOCTYPE hibernate-configuration (View Source for full doctype...)&gt; - &lt;!-- Generated by MyEclipse Hibernate Tools. --&gt; - &lt;hibernate-configuration&gt; - &lt;property name="myeclipse.connection.profile"&gt;...

    Hibernate Reference Documentation3.1

    1.2.3. Hibernate configuration 1.2.4. Building with Ant 1.2.5. Startup and helpers 1.2.6. Loading and storing objects 1.3. Part 2 - Mapping associations 1.3.1. Mapping the Person class 1.3.2. A ...

    自己写的Hibernate

    Here show you the dialog(My configuration): - TEST_COMMON + src + JRE System Liberary[jre1.5.0] + J2EE 1.4 Liberaries + commons-logging-1.0.4.jar - TEST_DAO + src + JRE System Library[jre...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很...

    mysql+jdbc+jsp+Hibernate3.2+tomcattomcat5.028成功测试

    property name="date" type="timestamp" column="EVENT_DATE"/&gt; &lt;property name="title"/&gt; &lt;/class&gt;&lt;br&gt; &lt;/hibernate-mapping&gt; &lt;br&gt;6. hibernateTest.jsp 文件 &lt;br&gt;;charSet=GBK" %&gt; &lt;%@ page ...

    springmybatis

    2. 设置mybatis 配置文件:Configuration.xml, 在src_user目录下建立此文件,内容如下: 程序代码 程序代码 &lt;!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" ...

    OA项目SSH整合框架

    1,在web.xml配置监听器(Spring Reference 15.2 Common configuration) &lt;!-- 集成Spring --&gt; &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener &lt;param-name&gt;...

    hibernate3.6 文档(pdf 格式)

    1.1.4. Hibernate configuration ............................................................................. 7 1.1.5. Building with Maven .................................................................

    从J2SE到J2EE知识点介绍

    3. 关于jsp在MyEclipse中打开的乱码问题 138 4. 关于html页面在eclipse中打开出现乱码情况 139 5. JSP页面通过URL传递中文参数的乱码问题 139 四、 Struts2 140 (一) 基于struts2的web应用的开发步骤 140 1. MVC设计...

    客户关系管理系统框架搭建(二)

    &lt;property name="hibernate.dialect"&gt;org.hibernate.dialect.MySQL5Dialect&lt;/property&gt; &lt;property name="hibernate.hbm2ddl.auto"&gt;update&lt;/property&gt; &lt;property name="hibernate.show_sql"&gt;true&lt;/...

Global site tag (gtag.js) - Google Analytics