atitit.获取connection hibernate4

 

1. SessionFactoryUtils法(推荐) 1

2. ConnectionProvider 法( ) 1

3. 嘎自实现法(不推荐)读取hb配置文件 1

4. 或者使用work (但是work黑头的conn是个闭包,,不好用) 1

 

1. SessionFactoryUtils法(推荐)

这个方法生成的多个conn实际都是一个,所以,不好用

Hibernate3.3.2版本中getSession().connection()已被弃用,替代方法SessionFactoryUtils.getDataSource(getSessionFactory()).getConnection()

 

2. ConnectionProvider 法( )

雅十,这个方法生成的多个conn实际都是一个,所以,不好用

 

ConnectionProvider cp = ((SessionFactoryImplementor)ssn.getSessionFactory()).getConnectionProvider();

 

3. 嘎自实现法(不推荐)读取hb配置文件

读取hb配置文件,通过jdbc api生成con

c=new Hb4JdbcX().getConnection();

 

wechat4propty 项目..

//  c = cp.getConnection();

 

 

4. 或者使用work (但是work黑头的conn是个闭包,,不好用)

 

 

bd.bind(Connection.class).toInstance(

(Connection) new Closure2() {

 

@Override

public Object execute(Object arg0) {

BaseImpl basedao = new BaseImpl();

SessionFactory sessionFactory = HibernateSessionFactory.getSessionFactory();

 Connection c;

try {

c = SessionFactoryUtils.getDataSource(sessionFactory ).getConnection();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

throw new RuntimeException(e);

}

return c;

}

}.execute(null));

 

Hibernate Session 获取connection - liuxianbing119的专栏 - 博客频道 - CSDN.NET.htm