Class 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 Detail

      • MyBatisExceptionTranslator

        public MyBatisExceptionTranslator​(DataSource dataSource,
                                          boolean exceptionTranslatorLazyInit)
        Creates a new PersistenceExceptionTranslator instance with SQLErrorCodeSQLExceptionTranslator.
        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 new PersistenceExceptionTranslator instance with specified SQLExceptionTranslator.
        Parameters:
        exceptionTranslatorSupplier - Supplier for creating a SQLExceptionTranslator instance
        exceptionTranslatorLazyInit - if true, the translator instantiates internal stuff only the first time will have the need to translate exceptions.
        Since:
        2.0.3
    • Method Detail

      • translateExceptionIfPossible

        public org.springframework.dao.DataAccessException translateExceptionIfPossible​(RuntimeException e)
        Specified by:
        translateExceptionIfPossible in interface org.springframework.dao.support.PersistenceExceptionTranslator