1

Spring MVC プロジェクトで JavaConfig を使用して次のデータベースをセットアップしようとしていますが、driverClass、ユーザー、パスワードなどを設定できません。

誰か理由を教えてください

@Bean
public DataSource dataSource() {

    DataSource ds = new DriverManagerDataSource();
    try {
        ds.setDriverClass("com.mysql.jdbc.Driver");
        ds.setUser("jboss");
        ds.setPassword("xoJ4u0Hs");
        ds.setJdbcUrl("jdbc:mysql://6dhdbm01/jboss1");
    } catch (Exception e) {
        logger.error(e.getMessage());
    }
    return ds;
}

私はそれを修正しました:私はこれにコードを変更しなければなりませんでした:

@Bean
    public DataSource dataSource() {

         // com.mchange.v2.c3p0.ComboPooledDataSource ds = new com.mchange.v2.c3p0.ComboPooledDataSource();

        BasicDataSource ds = new BasicDataSource();


        try {

            /*

            This was old code for using C3P0 Database pooling
            ds.setDriverClass("com.mysql.jdbc.Driver");
            ds.setUser("jboss");
            ds.setPassword("xoJ4u0Hs");
            ds.setJdbcUrl("jdbc:mysql://6dhdbm01/jboss1");
            */

            ds.setDriverClassName("com.mysql.jdbc.Driver");
            ds.setUsername("jboss");
            ds.setPassword("xoJ4u0Hs");
            ds.setUrl("jdbc:mysql://6dhdbm01/jboss1");

        } catch (Exception e) {
            logger.error(e.getMessage());
        }
        return ds;
    }

しかし、私はこのエラーが発生しています..maven pom.xmlに何か不足していますか

java.lang.ClassNotFoundException: org.apache.commons.pool.impl.GenericObjectPool
4

1 に答える 1

3

私の推測:

  • javax.sql.DataSource ではなく javax.activation.DataSource をインポートしています
  • com.mysql.jdbc.Driver がクラスパスにありません
  • URL / 資格情報が間違っています

最初の推測はコンパイル時の問題で、次の 2 つは展開時の問題です。

編集:どのシンボルが見つかりませんか? 私の推測では、DriverManagerDataSource はコアの一部ではなく、spring-jdbc の一部であるためです。また、DataSource の実装は接続プールではないため、実際にはお勧めしません。毎回新しい接続を作成します。commons-dbcp

于 2013-04-19T18:37:01.363 に答える