sqlSession直接执行sql语句示例
时间: 2023-07-17 18:02:05 浏览: 115
当使用 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 org.apache.ibatis.jdbc.ScriptRunner;
import java.io.IOException;
import java.io.Reader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
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 语句
sqlSession.update("namespace.statementId", parameter);
sqlSession.commit(); // 提交事务
// 关闭 sqlSession
sqlSession.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上述代码中,我们首先加载 MyBatis 的配置文件,然后通过 `SqlSessionFactoryBuilder` 创建 `SqlSessionFactory` 对象。接下来,我们使用 `sqlSessionFactory` 打开一个 `SqlSession` 对象。
然后,我们可以通过 `sqlSession` 对象直接执行 SQL 语句。在示例中,我们调用了 `sqlSession.update()` 方法来执行一个更新操作,并调用 `sqlSession.commit()` 方法提交事务。
最后,记得关闭 `sqlSession` 对象以释放资源。
需要注意的是,`"namespace.statementId"` 是你在 MyBatis 配置文件中定义的 SQL 语句的命名空间和语句的 ID。`parameter` 是传递给 SQL 语句的参数。具体的 SQL 语句可以在配置文件中进行定义和配置。
阅读全文