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 Details

    • 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 Details

    • translateExceptionIfPossible

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