问答详情
源自:5-1 课程总结与展望

2018年初的培训内容,现在两年多过去了

请教培训的内容还适合现在最新的Springboot/Mybatis/微信小程序开发工具吗?

提问者:慕桂英7577204 2020-08-28 11:48

个回答

  • 翔仔
    2020-08-29 01:47:16

    适合的,因为底层的源码核心部分基本是不变的。

  • 慕桂英7577204
    2020-08-31 23:26:45

    然后,在applications.properties中更改:

    #DataSource
    #数据库驱动
    jdbc.driver=
    #数据库链接
    jdbc.url=jdbc:mysql://localhost:3306/wxbookmark?useUnicode=true&characterEncoding=utf8mb4&useSSL=false
    #数据库用户名
    jdbc.username=wxbookmark
    #数据库密码
    jdbc.password=1234

    再运行,还是会出错如下:


    org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 

    ### Error querying database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!

    ### The error may exist in file [C:\Code\Spring\wx-bookmark\target\classes\mapper\UserDao.xml]

    ### The error may involve com.kamuda.wxbookmark.dao.UserDao.queryUserByUid

    ### The error occurred while executing a query

    ### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!


  • 慕桂英7577204
    2020-08-31 23:19:23

    谢谢,按照您的配置C3P0,com.mysql.jdbc.Driver:


    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <!-- 连接池 -->
    <dependency>
        <groupId>com.mchange</groupId>
        <artifactId>c3p0</artifactId>
        <version>0.9.5.5</version>
    </dependency>


    会出现以下报错


    2020-08-31 23:11:59.648  INFO 12008 --- [           main] c.m.v.c.i.AbstractPoolBackedDataSource   : Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, contextClassLoaderSource -> caller, dataSourceName -> 1hgemqzacj5yw5okhqb33|6cd166b8, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> com.mysql.jdbc.Driver, extensions -> {}, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, forceSynchronousCheckins -> false, forceUseNamedDriverClass -> false, identityToken -> 1hgemqzacj5yw5okhqb33|6cd166b8, idleConnectionTestPeriod -> 0, initialPoolSize -> 3, jdbcUrl -> jdbc:mysql://localhost:3306/wxbookmark?useUnicode=true&characterEncoding=utf8mb4&useSSL=false, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 15, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 3, numHelperThreads -> 3, preferredTestQuery -> null, privilegeSpawnedThreads -> false, properties -> {password=******, user=******}, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, userOverrides -> {}, usesTraditionalReflectiveProxies -> false ]

    Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.