Lorsque vous utilisez jdbc pour vous connecter à la base de données postgresql, l'erreur est la suivante :
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (????????: ?????? "uav_test " ??????)
### The error may exist in file [G:\Uav\NewMavenDemo\target\classes\mapper\UserMapper.xml]
### The error may involve UserMapper.getUserInfo
### The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (????????: ?????? "uav_test " ??????)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:79)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:447)
at com.sun.proxy.$Proxy27.selectList(Unknown Source)
Message d'erreur clé : Cannot create PoolableConnectionFactory (????????: ?????? "uav_test " ??????)
Les paramètres de connexion sont les suivants :
#Postgresql
driver=org.postgresql.Driver
url=jdbc:postgresql://localhost:5432/uav_test
username=postgres
password=root
dialect=postgresql
Il n'y a aucun problème lorsque je change la base de données postgresql pour utiliser mysql Les paramètres pour mysql :
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mysql
username=root
password=root
dialect=mysql
Je ne comprends pas très bien pourquoi cela arrive
Voici le remplissage ;
Après avoir travaillé dessus pendant un long moment, il s'avère que le nom de connexion uav_test a été confondu avec le nom de la base de données, et le vrai message d'erreur est le suivant : Erreur fatale : La base de données "uav_test" n'existe pas, peut-être à cause de l'encodage. Il y a un problème de format et les caractères chinois ne peuvent pas être affichés, ce qui rend impossible la recherche d'erreurs.
Seuls les débutants font des erreurs
Il se peut que l'instruction SQL soit mal écrite,