看黑马java 视频教程时,按照老师的步骤走,出现了如下问题:
Exception in thread "main" java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:118)
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:77)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:690)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:140)
at C3p0.useC3p0.main(useC3p0.java:29)
Caused by: com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@19bb089b -- timeout at awaitAvailable()
at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1467)
at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:644)
at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:554)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutAndMarkConnectionInUse(C3P0PooledConnectionPool.java:758)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:685)
... 2 more
上网百度了很久,发现错误2个,具体如下:
1.资料里提供的mysql驱动jar包mysql-connector-java-5.1.37-bin.jar与我所使用的mysql版本不符,需要换成对应的8.0.19版本,且由于版本更换问题,配置文件里的:
<property name="driverClass">com.mysql.jdbc.Driver</property>
也需要更换成
<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
2.这个问题比较尴尬,大家的数据库连接应该默认的账号密码是这个
root
root
但是我安装mysql时用了别的密码,因此这里也需要改一下密码,否则连不上
解决之后,运行,终于得到预期结果:
com.mchange.v2.c3p0.impl.NewProxyConnection@1fbc7afb [wrapping: com.mysql.cj.jdbc.ConnectionImpl@45c8e616]