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アドレスを渡すだけです。
ゴッチャ、どうもありがとうございます。私はそれを理解することができましたが、それはあなたが持っているものに密接に従います。 – SomeStudent