2012-01-22 16 views
4

Java APIとXMLの多数の設定が失われました。SPRING 3 MVC - MySQL JDBCデータベース接続設定

私はSpring MVCでアプリケーションを作成しようとしていますが、XML設定には苦労しています。

私はmysqlデータベースに接続できるようにしたい...しかし、私はそれを行う方法の簡潔な方法を見つけるのに苦労しています。私はHibernateやその他のフレームワークを使用したくないので、JDBCはそれ自身で十分です。

私はデータベース接続を作成し、必要に応じてクエリを変更できるString変数にアクセスできるようにしたいと考えています。私は、問題はxml構成内にあると思うが、私は間違っている可能性があります。

以下の詳細をapplication-context.xmlファイルに貼り付けましたが、削除しない限り、サーバーを構築することはできません。私は何かが簡単でないかどうか分からない!

<bean id="JdbcDao" class="com.bcash.DbAccess.JdbcDao"> 
    <property name="dataSource" ref="dataSource"/> 
</bean>  

<bean id="dataSource" 
     class="org.springframework.jdbc.datasource.DriverManagerDataSource" 
     p:driverClassName="com.mysql.jdbc.Driver" 
     p:url="jdbc:mysql://localhost:3306/db_name" 
     p:username="root" 
     p:password="" 
     destroy-method="close" /> 

これは私が私が得る唯一のエラーは、サーバーがAntビルドスクリプト

のライン726上に展開することができなかったということであるXML宣言

package com.bcash.DbAccess; 

import javax.sql.DataSource; 
import org.springframework.dao.DataAccessException; 
import org.springframework.jdbc.core.JdbcTemplate; 

public class JdbcDao { 

private JdbcTemplate jdbcTemplate; 
protected String query = "INSERT INTO user('username','email','password','access_level') VALUES ('admin','[email protected]','testPassWord','admin')"; 


public void insertUser(){ 

    try{ 
     jdbcTemplate.update(query); 

    } catch(DataAccessException e){ 

     String error = e.getMessage(); 
     System.out.println(error); 

    } 

} 

} 

のために書いた、関連付けられたクラスです

<target if="netbeans.home" name="-run-deploy-nb"> 
    <nbdeploy clientUrlPart="${client.urlPart}" debugmode="false" forceRedeploy="${forceRedeploy}"/> 
</target> 

私はPHPで大丈夫ですが、私はかなりJavaに新しいので少し混乱しています。事前に

おかげ

+1

問題が何であるかはっきりしません。データソースのXML設定を削除しない限り、プロジェクトを構築できないと言っていますが、メッセージは表示されません。 –

答えて

5

私は本当にあなたがビルドについて尋ねている質問に従いますが、コードを見て、あなたはセットアップの事を持っているか、私は問題のように見える一つのことを見ないと分かりません。 JdbcTemplateをインスタンス化せずに、それをdataSourceに関連付けるように見えます。

あなたはこのようなBeanとして、あなたのJdbcTemplateインスタンスを作成する必要があります。

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> 
    <property name="dataSource"> 
     <ref bean="dataSource" /> 
    </property> 
    </bean> 

次に、あなたがあなたのjdbcTemplate変数の設定方法を持っているし、代わりにデータソースのあなたのBeanにテンプレートへの参照を渡すことを確認してください。

<bean id="JdbcDao" class="com.bcash.DbAccess.JdbcDao"> 
    <property name="jdbcTemplate" ref="jdbcTemplate"/> 
</bean> 

あなたのJdbcTemplateがあなたのデータソースへの参照を持つことになりますし、あなたがして、クエリを実行できるようにする必要があり、これを行います。

+1

だから、その唯一の展開が妨げられたのでしょうか?私は前に 'nbdeploy'を使ったことがないので、それが原因であるかどうかはわかりませんでした。 – Michael

+0

はい、デプロイメントを停止していた唯一のことは、Beanの詳細をdispatcher-servlet.xmlファイルに移動して問題を解決できたため、うまくいきました! – user866190