如何从Mybatis中获取sqlSessionFactory和JDBC的Connection?
时间: 2024-03-10 19:43:19 浏览: 211
mybatis+jdbc的jar包
在 Mybatis 中,可以通过 `SqlSessionFactory` 工厂类来获取 `SqlSession` 对象和 `Connection` 对象。
获取 `SqlSessionFactory` 对象的方式有多种,其中比较常用的是通过 `SqlSessionFactoryBuilder` 类从 `InputStream` 对象或者 `Reader` 对象中读取 Mybatis 的配置文件来创建 `SqlSessionFactory` 对象。
获取 `SqlSession` 对象的方式和上面的回答一样。这里提供一种从 `SqlSessionFactory` 直接获取 `Connection` 对象的方式:
```java
SqlSession sqlSession = sqlSessionFactory.openSession();
Connection connection = sqlSession.getConnection();
```
需要注意的是,在获取 `Connection` 对象后,需要手动关闭,否则会导致连接泄漏。可以通过 `Connection` 对象的 `close()` 方法来关闭连接。
```java
connection.close();
```
另外,如果使用 Spring 框架来管理 Mybatis 和数据库连接的话,也可以通过 Spring 的 `DataSource` 来获取 `Connection` 对象。可以通过 `DataSource` 对象的 `getConnection()` 方法获取 `Connection` 对象。
```java
@Autowired
private DataSource dataSource;
public void someMethod() {
Connection connection = dataSource.getConnection();
// do something with connection
connection.close();
}
```
阅读全文