Hibernate不通过hibernate.cfg.xml创建数据库连接

本文提供了在不同版本的Hibernate中配置数据库连接的具体示例,包括4.0之前的版本使用AnnotationConfiguration的方式,以及4.0及以后版本采用StandardServiceRegistryBuilder进行配置的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hibernate 4.0之前:

import org.hibernate.cfg.AnnotationConfiguration;

AnnotationConfiguration config = new AnnotationConfiguration();
config.setProperty("hibernate.connection.driver_class", "com.microsoft.sqlserver.jdbc.SQLServerDriver");
config.setProperty("hibernate.connection.username", "sa");
config.setProperty("hibernate.connection.password", "1234");
config.setProperty("hibernate.connection.url", "jdbc:sqlserver://localhost:1433;databaseName=test");
config.setProperty("show_sql", "true");
config.setProperty("hibernate.dialect", "org.hibernate.dialect.SQLServer2012Dialect");
config.setProperty("hibernate.current_session_context_class", "thread");
//注入实体对象
config.addAnnotatedClass(Employee.class);
return config.buildSessionFactory();

Hibernate 4.0 之后

import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

StandardServiceRegistryBuilder serviceRegistryBuilder = new StandardServiceRegistryBuilder();
serviceRegistryBuilder.applySetting("hibernate.connection.driver_class", "com.microsoft.sqlserver.jdbc.SQLServerDriver");
serviceRegistryBuilder.applySetting("hibernate.connection.username", "sa");
serviceRegistryBuilder.applySetting("hibernate.connection.password", "1234");
serviceRegistryBuilder.applySetting("hibernate.connection.url", "jdbc:sqlserver://localhost:1433;databaseName=test");
serviceRegistryBuilder.applySetting("show_sql", "true");
serviceRegistryBuilder.applySetting("hibernate.dialect", "org.hibernate.dialect.SQLServer2012Dialect");
serviceRegistryBuilder.applySetting("hibernate.current_session_context_class", "thread");
serviceRegistryBuilder.applySetting("hibernate.connection.autocommit", "true");

ServiceRegistry serviceRegistry = serviceRegistryBuilder.build();
Configuration configuration = new Configuration().configure();
//注入实体
configuration.addAnnotatedClass(Employee.class);
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);

return sessionFactory;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值