解决方案 »

  1.   

    配置如下:
    initialPoolSize=2
    minPoolSize=2
    maxPoolSize=10
    c3p0.driverClass=com.mysql.jdbc.Driver
    idle_test_period=121
    timeout=1800
    c3p0.jdbcUrl=jdbc:mysql://192.168.1.30:30303/iov?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useServerPrepStmts=true&useCursorFetch=true&defaultFetchSize=200
    c3p0.user=root
    c3p0.password=abcd1234报错如下:
    Exception in thread "main" org.springframework.dao.TransientDataAccessResourceException: StatementCallback; SQL [select count(*) from poi.poi_category]; java.lang.NullPointerException; nested exception is java.sql.SQLException: java.lang.NullPointerException
    at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:107)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:407)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:456)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:464)
    at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:472)
    at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:477)
    at org.springframework.jdbc.core.JdbcTemplate.queryForInt(JdbcTemplate.java:486)
    at com.cpsdna.poi.db.JDBCFacade.main(JDBCFacade.java:347)
    Caused by: java.sql.SQLException: java.lang.NullPointerException
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
    at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:766)
    at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:843)
    at com.mysql.jdbc.Statement.createResultSetUsingServerFetch(Statement.java:513)
    at com.mysql.jdbc.Statement.executeQuery(Statement.java:1124)
    at com.mysql.jdbc.SQLError.convertShowWarningsToSQLWarnings(SQLError.java:710)
    at com.mysql.jdbc.SQLError.convertShowWarningsToSQLWarnings(SQLError.java:658)
    at com.mysql.jdbc.Statement.getWarnings(Statement.java:1945)
    at com.mchange.v2.c3p0.impl.NewProxyStatement.getWarnings(NewProxyStatement.java:350)
    at org.springframework.jdbc.core.JdbcTemplate.handleWarnings(JdbcTemplate.java:1318)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:397)
    ... 6 more

      

  2.   


    配置应该没有问题,因为用此数据源直接获取连接是可以操作的。报错如下:
    [color=#FF0000]Exception in thread "main" org.springframework.dao.TransientDataAccessResourceException: StatementCallback; SQL [select count(*) from poi.poi_category]; java.lang.NullPointerException; nested exception is java.sql.SQLException: java.lang.NullPointerException
    at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:107)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:407)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:456)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:464)
    at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:472)
    at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:477)
    at org.springframework.jdbc.core.JdbcTemplate.queryForInt(JdbcTemplate.java:486)
    at com.cpsdna.poi.db.JDBCFacade.main(JDBCFacade.java:347)
    Caused by: java.sql.SQLException: java.lang.NullPointerException
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
    at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:766)
    at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:843)
    at com.mysql.jdbc.Statement.createResultSetUsingServerFetch(Statement.java:513)
    at com.mysql.jdbc.Statement.executeQuery(Statement.java:1124)
    at com.mysql.jdbc.SQLError.convertShowWarningsToSQLWarnings(SQLError.java:710)
    at com.mysql.jdbc.SQLError.convertShowWarningsToSQLWarnings(SQLError.java:658)
    at com.mysql.jdbc.Statement.getWarnings(Statement.java:1945)
    at com.mchange.v2.c3p0.impl.NewProxyStatement.getWarnings(NewProxyStatement.java:350)
    at org.springframework.jdbc.core.JdbcTemplate.handleWarnings(JdbcTemplate.java:1318)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:397)
    ... 6 more

    [/color]
      

  3.   

    这些正常,用此数据源可直接过去连接。
    但是用此数据源构造jdbctemplate没有问题,但是执行sql语句的时候却报空。应该是连接拿不到。
      

  4.   

    你ds 有数据不? 看apiDataSource 有不?
      

  5.   

    JdbcTemplate 是否有问题。jar等看看。
      

  6.   

    你确定你spring的配置文件配置了datasource?