If there is a problem retrieving database product name, then VendorDatabaseIdProvider.getDatabaseId simply returns null. This causes " org.apache.ibatis.binding.BindingException: Parameter '_databaseId' not found" when calling a mapper that references this databaseId.

It would be probably much better throwing RuntimeException in this case.

Comment From: harawata

There may be a reason for the current implementation, but I would look into it if you could provide a test case that replicate the BindingException. These pages may help you create a test case.

  • https://github.com/mybatis/mybatis-3/wiki/Unit-Test
  • https://github.com/harawata/mybatis-issues

Thank you for the report!

Comment From: harawata

Hello @jpragma ,

I now realize that this is a duplicate of #3296 . It was fixed in 3.5.17.

Thank you for the report!