Apabila menggunakan jdbc untuk menyambung ke pangkalan data postgresql, ralat adalah seperti berikut:
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)
Mesej ralat utama: Cannot create PoolableConnectionFactory (????????: ?????? "uav_test " ??????)
Parameter sambungan adalah seperti berikut:
#Postgresql
driver=org.postgresql.Driver
url=jdbc:postgresql://localhost:5432/uav_test
username=postgres
password=root
dialect=postgresql
Tiada masalah apabila saya menukar pangkalan data postgresql untuk menggunakan mysql Parameter untuk mysql:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mysql
username=root
password=root
dialect=mysql
Saya tidak begitu faham mengapa ini berlaku
Mengisi lubang;
Setelah lama mengerjakannya, ternyata nama sambungan uav_test tersilap sebagai nama pangkalan data, dan mesej ralat sebenar adalah ini: Ralat maut: Pangkalan data "uav_test" tidak tidak wujud, mungkin kerana pengekodan Terdapat masalah format dan aksara Cina tidak dapat dipaparkan, menjadikannya mustahil untuk mencari ralat.
Hanya orang baru yang membuat kesilapan
Sepatutnya pernyataan sql ditulis dengan salah,