在 MyBatis 中,你可以通过两种方式设置事务的超时时间:
- 在 MyBatis 配置文件(mybatis-config.xml)中设置全局事务超时时间:
这里的值是以秒为单位的。上面的例子将全局事务超时时间设置为 30 秒。
- 在 Java 代码中为特定的 SqlSession 设置事务超时时间:
SqlSessionFactory sqlSessionFactory = ...; // 获取 SqlSessionFactory 实例 SqlSession sqlSession = sqlSessionFactory.openSession(); sqlSession.getConfiguration().setDefaultStatementTimeout(30);
这里的值同样是以秒为单位的。上面的例子将特定 SqlSession 的事务超时时间设置为 30 秒。
注意:这两种方法设置的超时时间是不同的。全局事务超时时间适用于所有 SqlSession,而特定 SqlSession 的事务超时时间仅适用于该 SqlSession。如果同时设置了全局和特定的事务超时时间,特定的事务超时时间将覆盖全局事务超时时间。