spring boot mybatis如何捕获连接数据库失败的异常?

使用mybatis查询数据时,想捕获数据库连接失败的异常。

以下是想通过NetException来捕获数据库连接失败的异常,但是报错。

图片描述

请问该怎么处理,才能准确的捕获到连接失败的异常?

        try {
            int userId = 1;
            User user = userMapper.findById(userId);
        } catch (NetException e) {
            // TODO: handle exception
            logger.info("xxxxxxxxxxxxxxxxxxxxxxx");
            System.out.println(e.getStackTrace());
            logger.info("xxxxxxxxxxxxxxxxxxxxxxx");
        }
public interface UserMapper {
    @Select("SELECT * FROM SYSTEM_USER WHERE id=#{id}")
    @Results({ @Result(property = "credentialsSalt", column = "credentials_salt"),
            @Result(property = "createTime", column = "create_time") })
    User findById(int id);

    @Select("SELECT * FROM user WHERE username=#{username}")
    @Results({ @Result(property = "credentialsSalt", column = "credentials_salt"),
            @Result(property = "createTime", column = "create_time") })
    User queryByUsername(String username);
}
阅读 8.4k
1 个回答
        try {
            int userId = 1;
            User user = userMapper.findById(userId);
        } catch (Exception e) {
            if (e instanceof NetException) {
                // TODO: handle exception
                logger.info("xxxxxxxxxxxxxxxxxxxxxxx");
                System.out.println(e.getStackTrace());
                logger.info("xxxxxxxxxxxxxxxxxxxxxxx");
            } else {
                // TODO: handle exception
                logger.info("xxxxxxxxxxxxxxxxxxxxxxx");
                System.out.println(e.getStackTrace());
                logger.info("xxxxxxxxxxxxxxxxxxxxxxx");
            }
        }

仅供参考。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进