SessionFactory是Hibernate框架中的一个重要概念,用于创建和管理Hibernate的Session对象。Session是Hibernate与数据库交互的核心对象,通过SessionFactory可以获取Session对象来进行数据库操作。
不使用hibernate5.1.4和spring 4.3.4创建SessionFactory,可以选择使用纯Hibernate的方式来创建SessionFactory。以下是一个示例:
<?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>
<!-- 数据库连接配置 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mydatabase</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">password</property>
<!-- 映射文件配置 -->
<mapping class="com.example.entity.User"/>
<!-- 其他配置 -->
...
</session-factory>
</hibernate-configuration>
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
// 读取配置文件
Configuration configuration = new Configuration().configure();
// 创建SessionFactory
sessionFactory = configuration.buildSessionFactory();
} catch (Throwable ex) {
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
import org.hibernate.Session;
import org.hibernate.Transaction;
public class UserDao {
public void save(User user) {
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
session.save(user);
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
session.close();
}
}
// 其他数据库操作方法
...
}
这样就可以通过纯Hibernate的方式创建SessionFactory,并使用Session对象进行数据库操作。请注意,以上示例仅为演示目的,实际使用时需要根据具体情况进行配置和调整。
领取专属 10元无门槛券
手把手带您无忧上云