2016-11-11 6 views
0

私は現在、私たちのデータベースと通信しなければならない単純なサーブレットを実装しようとしています。リモートMySQLのDBとEclipse

私はデータベースに関する実際の経験はありませんでしたので、私はこれについてどうすればいいのでしょうか?私は、dev.mysqlからmysql-connector-java-5.1.40をダウンロードしました。

接続を設定するためのWeb上の指示のいくつかを見ていくと、ローカルのmysqlにしかないようですが、リモートのものは何ですか?リモートのユーザーとパスはデモ/デモです。もちろん、自分の資格情報を使ってリモートサーバーにログインする必要もあります。このリモートDBに接続するにはどうすればいいですか?

編集:私はDBに接続していると信じています。少なくとも、データソースの下で私の日食でそれを見ることができます。テーブルは存在します(会社と株価情報)。私はそれに関連するものを持っていますが。

答えて

1

Webコンテナ(またはアプリケーションサーバー)でデータベースリソースを消費する適切な方法は、javax.sql.DataSource抽象化です。したがって、コンテナにデータソースを設定する必要があります。 Tomcat用には、以下のコンテンツ(自分の持つアドレスと資格情報を交換する)とあなたの戦争のMETA-INFフォルダにcontext.xmlという名前のファイルを作成するのと同じくらい簡単です:

<Context> 
    <Resource name="jdbc/[YourDatabaseName]" 
     auth="Container" 
     type="javax.sql.DataSource" 
     username="[DatabaseUsername]" 
     password="[DatabasePassword]" 
     driverClassName="com.mysql.jdbc.Driver" 
     url="jdbc:mysql:/[yourserver]:3306/[your-db]" 
     maxActive="20" 
     maxIdle="20"/> 
</Context> 

次にあなたがDB操作を実行したい場合:

  • あなたのいずれかのデータ・ソースのルックアップ:

    のDataSourceのds =(DataSourceの)新しいのInitialContext()のルックアップ( "で、java:comp/env/JDBC [YourDatabaseName]を")。

  • または単にサーブレットなどの管理対象コンポーネントのための依存性注入を使用します。

    @Resource(name="jdbc/YourDataSource") Datasource ds;

ザ・あなただけのデータベースにステートメントを実行するために、データソースから接続を取得。

DBドライバは、2つの場所のいずれかに入れることができます。

  • 戦争のlibフォルダ
  • Tomcatのlibフォルダ

ドライバがあるので、Tomcatのlibにそれを置くことをお勧めしますあなたが同じコンテナに異なるバージョンのドライバを持ついくつかのアプリを持っていれば、悪いことが起こります。

このリモートDBに接続するにはどうすればよいですか?

リモートDBへの接続は、ローカルデータベースへの接続と同じです。接続文字列に正しいDBアドレスを渡すだけです。

+0

ゴッチャ、どうもありがとうございます。私はそれを理解することができましたが、それはあなたが持っているものに密接に従います。 – SomeStudent

関連する問題