Wie erfassen Sie die mybatis-exception “org.apache.ibatis.Ausnahmen.PersistenceException"?

Hier ist der Beispielcode, ich will die Ausnahme throwed von mybatis:

String resource = "com/sureone/server/db/mybatis-config.xml";
Reader reader = null;
try {
    reader = Resources.getResourceAsReader(resource);
} catch (IOException e) {
    e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
}
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
sqlSession = factory.openSession(true);
tUserMapper = sqlSession.getMapper(TUserMapper.class);

if(tUserMapper.insert(user)>0){     <===Exception throwed here for duplicate entry problem 
   return verifyLogin(user.getAccount(),user.getPassword());
}
return null;

Ausnahme möchte ich erfasst:

org.apache.ibatis.exceptions.PersistenceException: 
### Error updating database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'userName' for key 'account_UNIQUE'
Sie einen außerdem prüfen, ob der code vollständig ist die Antwort im dieser ALSO thread. Allerdings, in Ihrem Fall, da Sie eine "org.apache.ibatis..." - Paket, so müssen Sie zu fangen PersistenceException statt NestedSQLException, da es die eine, wickeln Sie die wirkliche Ursache unter.

InformationsquelleAutor sureone | 2013-05-26

Schreibe einen Kommentar