sqlsessionfactory与sqlsessiontemplate
时间: 2024-02-18 14:56:58 浏览: 25
`SqlSessionFactory`和`SqlSessionTemplate`都是MyBatis框架中用于管理数据库连接的类。
`SqlSessionFactory`是MyBatis框架中最重要的类之一,它是用于创建`SqlSession`对象的工厂。`SqlSession`是MyBatis框架中用于执行SQL语句的核心类。`SqlSessionFactory`的主要作用是读取MyBatis配置文件,创建`SqlSession`对象,并将`SqlSession`对象与当前线程绑定。
`SqlSessionTemplate`是MyBatis框架中的一个辅助类,它是对`SqlSession`的封装。`SqlSessionTemplate`提供了一些常用的数据库操作方法,例如`selectOne`、`selectList`、`insert`、`update`和`delete`等。使用`SqlSessionTemplate`可以避免手动创建`SqlSession`对象,从而简化了代码的编写。
下面是两个类的使用示例:
1.使用SqlSessionFactory创建SqlSession对象
```java
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
```
2.使用SqlSessionTemplate进行数据库操作
```java
@Autowired
private SqlSessionTemplate sqlSessionTemplate;
public void insertUser(User user) {
sqlSessionTemplate.insert("insertUser", user);
}
public User selectUserById(int id) {
return sqlSessionTemplate.selectOne("selectUserById", id);
}
```