Hibernate openSession方法:开启一个session

openSession 方法用于通过 SessionFactory 创建 Session 示例,创建 Session 示例后,就可以通过创建的 Session 进行持久化操作。

语法1

创建数据库连接并打开一个 Session 示例。

openSession()

返回值:Session 示例。

示例

通过 openSession() 方法创建一个 Session 示例,关键代码如下:

SessionFactory sessionFactory = config.buildSessionFactory();
Session session = sessionFactory.openSession();

语法2

在指定的数据库连接中打开一个带有局部拦截器的 Session 示例。

openSession(Connection connection,Interceptor interceptor)

参数说明:

  • connection:一个数据库连接。
  • interceptor:一个 Session 范围的拦截器。

返回值:Session 示例。

示例

创建一个通过 JDBC 连接 SQL Server 数据库的连接,并在该数据库连接中打开一个带局部拦截器的 Session 示例,关键代码如下:

Connection conn = null;
try{
  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");  //加载数据库驱动
  String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_test
    Hibernate";  //定义连接数据库的url
    conn = DriverManager.getConnection(url,"sa","");  //获取数据库连接对象
}catch(Exception e){
  e.printStackTrace();
}  //MyIntereptor为自定义的实现Interceptor接口的拦截器
Interceptor it = new MyInterceptor();
Session session = sessionFactory.openSession(conn,it);  //打开Session

语法3

创建数据库连接,并打开一个带有局部拦截器的 Session 示例。

openSession(Interceptor interceptor)throws HibernateException

参数说明:

  • interceptor:一个Session范围的拦截器。

返回值:Session 示例。

示例

通过 SessionFactory 创建一个带有局部栏截器的 Session 示例,关键代码如下:

SessionFactory sessionFactory = config.buildSessionFactory();  //MyIntereptor为自定义的实现Interceptor接口的拦截器
Interceptor it = new MyInterceptor();
Session session = sessionFactory.openSession(it);

语法4

在给定的数据库连接中打开一个 Session 示例。

openSession(Connection connection)

参数说明:

  • connection:一个数据库连接。

返回值:Session 示例。

示例

在给定的数据库连接中打开一个 Session 示例,关键代码如下:

Connection conn = null;  //定义参数Connection对象
try{
  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");  //加载数据库驱动
  String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_testHibernate";
  conn = DriverManager.getConnection(url,"sa","");
}catch(Exception e){
  e.printStackTrace();
}
Session session = sessionFactory.openSession(conn);  //打开Session

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/22922.html

(0)
上一篇 2021年7月20日
下一篇 2021年7月20日

相关推荐

发表回复

登录后才能评论