this is my sapplication.yml
spring:
datasource: type: com.zaxxer.hikari.HikariDataSource primary:
serverName: localhost
portNumber: 3306
databaseName: ccoee
username: root
password: root
dataSourceClassName: com.mysql.cj.jdbc.Driver
secondary:
serverName: localhost
portNumber: 3306
databaseName: ccoee
username: root
password: root
dataSourceClassName: com.mysql.cj.jdbc.Driver
this is my starter:
ApplicationContext applicationContext = SpringApplication.run(
TransqlApplication.class, args);
DataSource dataSource = applicationContext.getBean(DataSource.class);
System.out.println("datasource is :" + dataSource);
//检查数据库是否是hikar数据库连接池
if (!(dataSource instanceof HikariDataSource)) {
System.err.println(" Wrong datasource type :"
+ dataSource.getClass().getCanonicalName());
System.exit(-1);
}
try {
Connection connection = dataSource.getConnection();
ResultSet rs = connection.createStatement()
.executeQuery("SELECT 1");
if (rs.first()) {
System.out.println("Connection OK!");
} else {
System.out.println("Something is wrong");
}
// connection.close();
// System.exit(0);
} catch (SQLException e) {
System.out.println("FAILED");
e.printStackTrace();
System.exit(-2);
// TODO: handle exception
}
and this my exception:
datasource is :HikariDataSource (null)
2017-11-21 10:10:33.126Exception in thread "main" java.lang.RuntimeException: java.lang.ClassCastException: Cannot cast com.mysql.cj.jdbc.Driver to javax.sql.DataSource INFO at com.zaxxer.hikari.util.UtilityElf.createInstance(UtilityElf.java:93) 676 --- at com.zaxxer.hikari.pool.PoolBase.initializeDataSource(PoolBase.java:338) [ main] at com.zaxxer.hikari.pool.PoolBase.(PoolBase.java:117) com.zaxxer.hikari.HikariDataSource at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:109) : at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:97) HikariPool-1 - Starting... at com.mycjj.transql.TransqlApplication.main(TransqlApplication.java:51) Caused by: java.lang.ClassCastException: Cannot cast com.mysql.cj.jdbc.Driver to javax.sql.DataSource at java.lang.Class.cast(Class.java:3369) at com.zaxxer.hikari.util.UtilityElf.createInstance(UtilityElf.java:82) ... 5 more 2017-11-21 10:10:34.204 ERROR 676 --- [pool-1-thread-1] com.mycjj.transql.GetSql : 数据库连接异常,请检查地址/账号/密码是否正确