0

春の初心者ですのでご容赦ください。本の例に従っていましたが、データベースを Derby から MySQL に変更しただけです。

私のメインクラスはかなり単純です:

public class Main {

public static void main(String [] args)
{
    ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");

    VehicleDAO dao= (VehicleDAO) context.getBean("vehicleDao");
    Vehicle vehicle = new Vehicle("TEM0001", "Red", 4, 4);
    dao.insert(vehicle);
}

}

データ アクセス オブジェクトを作成し、新しい Vehicle オブジェクトを DAO に追加しようとします。Vehicle クラスは非常に単純で、4 つのフィールドを持つオブジェクト クラスです。

VehicleDAO クラスはここに貼り付けられます。

http://pastebin.com/ekB2Rb40

私のBeanファイルは次のようなものです:

<bean id="dataSource"
 class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName"
   value="org.gjt.mm.mysql.Driver" />
   <property name="url"
   value="jdbc:mysql://localhost:3306/vehicle" />
  <property name="username" value="root" />
  <property name="password" value="3324911" />
  <property name="initialSize" value="2" />
  <property name="maxActive" value="5" />
</bean>
<bean id="vehicleDao"
  class="com.apress.springrecipes.vehicle.JdbcVehicleDao">
  <property name="dataSource" ref="dataSource" />
</bean>

上記のように、行で常にヌル ポインター エラーが発生します。

conn= dataSource.getConnection();

したがって、MySQL 接続に何か問題があると思われますが、Eclipse のクラスパスに既に「mysql-connector-java-bin.jar」を含めています。

事前に助けてくれてありがとう!

4

1 に答える 1

2

セッターにタイプミスがあります

  public void setDataSource(DataSource datasource)
        {
                this.dataSource=dataSource;
        }

したがって、Springがデータソースを挿入するとき、その値は保存されません。IDEがこの種のエラーについてソースコードをチェックするのではないかと思います。

PSSpringにJdbcTemplateがあるDAOクラスでデータベース接続を手動で開かないでください。

于 2012-11-26T15:22:04.243 に答える