1. 程式人生 > >mybatis與Spring JdbcTemplate進行關聯

mybatis與Spring JdbcTemplate進行關聯

背景:手上有一個J2EE專案,資料庫儲存使用的Spring JdbcTemplate寫的儲存操作。現在將Mybatis加入,不想重寫以前已經存在的JdbcTemplate操作語句,使專案同時支援Mybatis跟JdbcTemplate。

 具體操作:

Spring JdbcTemplate使用DataSource,DataSource可以作為引數傳入JdbcTemplate。

JdbcTemplatetemplate=newJdbcTemplate(dataSource);

從Mybatis獲取DataSource時:

DataSourcedataSource=MybatisDb.getSqlSessionFactory

().getConfiguration().getEnvironment().getDataSource();

SqlSessionFactory()中獲取DataSource,不可以從SqlSession中獲取,SqlSession是每次執行CRUD獲取的,用完就需要關閉。

備註:

在具體操作中遇到一個問題,我把SqlSession作為一個單例,在操作一段時間後,會發現不能對資料庫進行操作。SqlSession的使用方法是:每次CRUD 從SqlSessionFactory產生一個新的,使用完畢close。 SqlSessionFactory是對執行緒池的管理,每次操作資料庫,從SqlSessionFactory產生一個新的。