我想要sqlSession直接执行sql查询语句的示例
时间: 2023-07-17 12:02:05 浏览: 89
当使用 MyBatis 框架时,可以通过 `sqlSession` 对象直接执行 SQL 查询语句。以下是一个示例:
```java
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.io.Resources;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
public class Main {
public static void main(String[] args) {
try {
// 加载 MyBatis 配置文件
String resource = "mybatis-config.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
// 创建 sqlSession 对象
SqlSession sqlSession = sqlSessionFactory.openSession();
// 直接执行 SQL 查询语句
List<Object> resultList = sqlSession.selectList("namespace.statementId", parameter);
// 处理查询结果
for (Object result : resultList) {
// 处理每个查询结果的逻辑
}
// 关闭 sqlSession
sqlSession.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上述代码中,我们首先加载 MyBatis 的配置文件,然后通过 `SqlSessionFactoryBuilder` 创建 `SqlSessionFactory` 对象。接下来,我们使用 `sqlSessionFactory` 打开一个 `SqlSession` 对象。
然后,我们可以通过 `sqlSession` 对象直接执行 SQL 查询语句。在示例中,我们调用了 `sqlSession.selectList()` 方法来执行一个查询操作,并将结果存储在一个 `List` 中。
最后,我们可以遍历查询结果并处理每个查询结果的逻辑。
记得关闭 `sqlSession` 对象以释放资源。
需要注意的是,`"namespace.statementId"` 是你在 MyBatis 配置文件中定义的 SQL 语句的命名空间和语句的 ID。`parameter` 是传递给 SQL 语句的参数。具体的 SQL 语句可以在配置文件中进行定义和配置。