Package org.mybatis.spring
Class MyBatisExceptionTranslator
java.lang.Object
org.mybatis.spring.MyBatisExceptionTranslator
- All Implemented Interfaces:
org.springframework.dao.support.PersistenceExceptionTranslator
public class MyBatisExceptionTranslator extends Object implements org.springframework.dao.support.PersistenceExceptionTranslator
Default exception translator.
Translates MyBatis SqlSession returned exception into a Spring DataAccessException using Spring's
SQLExceptionTranslator Can load SQLExceptionTranslator eagerly or when the first exception is
translated.
- Author:
- Eduardo Macarron
-
Constructor Summary
Constructors Constructor Description MyBatisExceptionTranslator(Supplier<org.springframework.jdbc.support.SQLExceptionTranslator> exceptionTranslatorSupplier, boolean exceptionTranslatorLazyInit)Creates a newPersistenceExceptionTranslatorinstance with specifiedSQLExceptionTranslator.MyBatisExceptionTranslator(DataSource dataSource, boolean exceptionTranslatorLazyInit)Creates a newPersistenceExceptionTranslatorinstance withSQLErrorCodeSQLExceptionTranslator. -
Method Summary
Modifier and Type Method Description org.springframework.dao.DataAccessExceptiontranslateExceptionIfPossible(RuntimeException e)
-
Constructor Details
-
MyBatisExceptionTranslator
Creates a newPersistenceExceptionTranslatorinstance withSQLErrorCodeSQLExceptionTranslator.- Parameters:
dataSource- DataSource to use to find metadata and establish which error codes are usable.exceptionTranslatorLazyInit- if true, the translator instantiates internal stuff only the first time will have the need to translate exceptions.
-
MyBatisExceptionTranslator
public MyBatisExceptionTranslator(Supplier<org.springframework.jdbc.support.SQLExceptionTranslator> exceptionTranslatorSupplier, boolean exceptionTranslatorLazyInit)Creates a newPersistenceExceptionTranslatorinstance with specifiedSQLExceptionTranslator.- Parameters:
exceptionTranslatorSupplier- Supplier for creating aSQLExceptionTranslatorinstanceexceptionTranslatorLazyInit- if true, the translator instantiates internal stuff only the first time will have the need to translate exceptions.- Since:
- 2.0.3
-
-
Method Details
-
translateExceptionIfPossible
public org.springframework.dao.DataAccessException translateExceptionIfPossible(RuntimeException e)- Specified by:
translateExceptionIfPossiblein interfaceorg.springframework.dao.support.PersistenceExceptionTranslator
-