An error is reported when running connection pool in idea: java.sql.sqlexception: Unsupported character encoding ‘UTF-8’
//run
public static void main(String[] args) throws SQLException {
ConPool pool = new ConPool("mysql");
pool.initPool(5);
PoolCon borrow = pool.borrow();
ResultSet resultSet = borrow.getCon().createStatement().executeQuery("select * from master_tab");
while (resultSet.next()) {
System.out.println(resultSet.getString("name"));
}
}
Error reporting interface:
java.sql.SQLException: Unsupported character encoding 'utf-8 '. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) at com.mysql.jdbc.ConnectionPropertiesImpl.postInitialization(ConnectionPropertiesImpl.java:2575) at com.mysql.jdbc.ConnectionPropertiesImpl.initializeProperties(ConnectionPropertiesImpl.java:2545) at com.mysql.jdbc.ConnectionImpl.initializeDriverProperties(ConnectionImpl.java:3143) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:762) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at cn.kgc.base.ConPool.con(ConPool.java:82) at cn.kgc.base.ConPool.initPool(ConPool.java:96) at cn.kgc.base.ConPool.main(ConPool.java:149) java.sql.SQLException: Unsupported character encoding 'utf-8 '. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) at com.mysql.jdbc.ConnectionPropertiesImpl.postInitialization(ConnectionPropertiesImpl.java:2575) at com.mysql.jdbc.ConnectionPropertiesImpl.initializeProperties(ConnectionPropertiesImpl.java:2545) at com.mysql.jdbc.ConnectionImpl.initializeDriverProperties(ConnectionImpl.java:3143) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:762) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at cn.kgc.base.ConPool.con(ConPool.java:82) at cn.kgc.base.ConPool.initPool(ConPool.java:96) at cn.kgc.base.ConPool.main(ConPool.java:149) java.sql.SQLException: Unsupported character encoding 'utf-8 '. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) at com.mysql.jdbc.ConnectionPropertiesImpl.postInitialization(ConnectionPropertiesImpl.java:2575) at com.mysql.jdbc.ConnectionPropertiesImpl.initializeProperties(ConnectionPropertiesImpl.java:2545) at com.mysql.jdbc.ConnectionImpl.initializeDriverProperties(ConnectionImpl.java:3143) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:762) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at cn.kgc.base.ConPool.con(ConPool.java:82) at cn.kgc.base.ConPool.initPool(ConPool.java:96) at cn.kgc.base.ConPool.main(ConPool.java:149) java.sql.SQLException: Unsupported character encoding 'utf-8 '. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) at com.mysql.jdbc.ConnectionPropertiesImpl.postInitialization(ConnectionPropertiesImpl.java:2575) at com.mysql.jdbc.ConnectionPropertiesImpl.initializeProperties(ConnectionPropertiesImpl.java:2545) at com.mysql.jdbc.ConnectionImpl.initializeDriverProperties(ConnectionImpl.java:3143) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:762) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at cn.kgc.base.ConPool.con(ConPool.java:82) at cn.kgc.base.ConPool.initPool(ConPool.java:96) at cn.kgc.base.ConPool.main(ConPool.java:149) java.sql.SQLException: Unsupported character encoding 'utf-8 '. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) at com.mysql.jdbc.ConnectionPropertiesImpl.postInitialization(ConnectionPropertiesImpl.java:2575) at com.mysql.jdbc.ConnectionPropertiesImpl.initializeProperties(ConnectionPropertiesImpl.java:2545) at com.mysql.jdbc.ConnectionImpl.initializeDriverProperties(ConnectionImpl.java:3143) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:762) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at cn.kgc.base.ConPool.con(ConPool.java:82) at cn.kgc.base.ConPool.initPool(ConPool.java:96) at cn.kgc.base.ConPool.main(ConPool.java:149) Pool connection object initialization not yet halfway exception Process finished with exit code -4
Problems found in XML file: <value></value> The code is too long when writing, and the </value> Line breaks were made.
<configuration>
<datasource id="mysql">
<property>
<name>driver</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>url</name>
<value>jdbc:mysql://192.168.1.200:3306/master_slave_copy?useSSL=true&useUnicode=true&characterEncoding=utf-8
</value>//Error
</property>
<property>
<name>username</name>
<value>root</value>
</property>
<property>
<name>password</name>
<value>ok</value>
</property>
</datasource>
<datasource id="oracle"></datasource>
</configuration>
Solution: add </value> Adjust to <value> Same line
<configuration>
<datasource id="mysql">
<property>
<name>driver</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>url</name>
<value>jdbc:mysql://192.168.1.200:3306/master_slave_copy?useSSL=true&useUnicode=true&characterEncoding=utf-8</value>
</property>
<property>
<name>username</name>
<value>root</value>
</property>
<property>
<name>password</name>
<value>ok</value>
</property>
</datasource>
<datasource id="oracle"></datasource>
</configuration>
Run successfully!