天天看點

擷取Connection的方法

1、實際項目用的spring-mvc + jpa + hibernate,有需求來讀取表名和列名。

方法一:

//有效,不過getConnectionProvider()是@Deprecated的,不建議用
Session session = (Session)em.getDelegate();
SessionFactoryImplementor sf = (SessionFactoryImplementor)session.getSessionFactory();
try (Connection conn = sf.getConnectionProvider().getConnection()){
           

方法二

//需要配置檔案中有dataSource的bean的配置
@Autowired
private javax.sql.DataSource dataSource;

Connection conn = dataSource.getConnection()
           

方法三

//網上的方法,未嘗試
getSession().doWork(  
  new Work() {  
    public void execute(Connection connection) {  
      // 這裡已經得到connection了,可以繼續你的JDBC代碼。  
      // 注意不要close了這個connection。  
    }  
  }  
);