検索
ホームページJava&#&チュートリアルJavaでデータベースに接続するには?

任意のプログラミング言語を使用して IT アプリケーションを作成する場合、アプリケーションとの間のデータ フローが中核的な機能を果たします。データ フローが何らかの影響を受けると、アプリケーションの機能に悪影響が生じ、ビジネスに重大な損失を引き起こす可能性があります。現在、プログラムをデータベースに接続して、ユーザーに要求した情報を提供し、ユーザーから情報を収集し、ユーザーの要求に応じて情報を削除し、データベースのデータを毎日更新するためのさまざまな方法が利用可能です。私たちは、プログラミング言語として Java、データベース接続方法として JDBC を使用し、オブジェクト指向アプローチに従って、そのようなアプローチの 1 つを検討します。

無料のデータ サイエンス コースを始めましょう

Hadoop、データ サイエンス、統計、その他

JDBC とは何ですか?

JDBC は Java Database Connectivity の略で、Java プログラムがデータベースに対して作成、読み取り、更新、削除などのさまざまな種類の操作を実行するのに役立ちます。また、JDBC は Java API です。

JDBC を使用することで、プログラマは次のことができるようになります。

  • データベースとの接続を確立します
  • SQL コマンドをデータベースに送信して実行します
  • データベースから得られた結果を解釈します

Java でデータベースを接続するためのデータベースを作成する

JDBC を使用する前に、JDBC に接続するためのデータベースが必要です。説明のために Oracle データベースを使用します。以下のリンクから Oracle 11g Express Edition をダウンロードしてください。

ここをクリック

以下に示すように、Oracle 10g インストーラーはすでに用意されています。

Javaでデータベースに接続するには?

ソース: 私のデスクトップから

  • インストーラーをダブルクリックしてください。以下の画面が表示されます。 「次へ」をクリックします。

Javaでデータベースに接続するには?

ソース: 私のデスクトップから

  • 使用許諾契約に同意し、「次へ」をクリックしてください。

Javaでデータベースに接続するには?

ソース: 私のデスクトップから

  • デフォルト設定をそのままにして、「次へ」をクリックしてください。

Javaでデータベースに接続するには?

ソース: 私のデスクトップから

  • Oracle 11g インスタンスにログインするときに必要となるパスワードを要求されます。パスワードを入力して「次へ」をクリックしてください。

Javaでデータベースに接続するには?

ソース: 私のデスクトップから

  • パスワードを入力すると、インストール プロセスが開始されます。インストールが完了すると、デスクトップ画面にショートカットアイコンが作成されます。見つからない場合は、Windows スタートに移動して Oracle を検索してください。あなたはそれを手に入れる必要があります。それをクリックすると、ブラウザ経由でシン クライアントが開きます。インスタンスにログインします。ユーザー名は Oracle DB、つまりシステムでも同じであることに注意してください。パスワードは、データベースの構成時に指定したものになります。

Javaでデータベースに接続するには?

出典: 私のデスクトップから

  • ログインすると、最初に次のような画面が表示されます:

Javaでデータベースに接続するには?

出典: 私のデスクトップから

  • 次に、テーブルを作成しましょう。上の画面で SQL モジュールをクリックし、以下のクエリを実行してください。

Javaでデータベースに接続するには?

出典: 私のデスクトップから

  • ご覧のとおり、Educba という名前のテーブルが正常に作成されました。

Java でデータベースに接続

データベースに接続し、JDBC API を使用して操作を実行するには、いくつかのインターフェイスとクラスが使用されます。

一つずつ説明していきますが、まずは以下のプログラムを紹介します。

Javaでデータベースに接続するには?

Javaでデータベースに接続するには?

Javaでデータベースに接続するには?

出典: 私のデスクトップから

以下は、データベースに接続し、データベース上で操作を実行するために使用するインターフェイスです。

  1. ドライバーマネージャー
  2. 接続
  3. 声明
  4. 結果セット
  5. 準備されたステートメント

JDBC 操作の一部として実行できる操作を見てみましょう。

  1. エンティティからデータベースにデータを保存します。つまり、オペレーションを作成します。
  2. データベースからエンティティまたは Bean にデータを取得します
  3. データベース内のエンティティまたは Bean のデータを更新します
  4. エンティティまたは Bean のデータをデータベースから削除または削除します。

どのような操作を実行しても、いくつかの基本的な手順は変わりません。

  1. ドライバーをロードします。
class.forName("oracle.jdbc.driver.OracleDriver");
  1. URL 文字列を作成します
String url="jdbc:oracle:thin:@172:.26.132.40:1521:orclilp";
  1. ドライバーマネージャーを使用して接続を作成します
con=DriverManager.getConnection(URL, USERNAME, PASSWORD);
  1. 接続参照を使用してステートメントを作成します
stmt = conn.createStatement();
  1. ステートメントを使用してクエリを実行します

Javaでデータベースに接続するには?

6.結果セットを処理します (オプション、依存)

7.最後のブロックでリソースを解放します。

Javaでデータベースに接続するには?

イラスト

この図では Oracle データベースを使用しているため、Oracle が提供する必要のあるドライバーが必要です。ドライバー クラスは通常、ojdbc14.jar という名前の jar ファイルの形式です。このドライバーが存在しない場合は、「参照ライブラリ」の一部として Java プログラムにインポートする必要があります。

Oracle 11g を C フォルダーにインストールしている場合は、次のパスにあることが理想的です (そこにない場合は、ここから簡単にダウンロードできます)

C: oracleexe アプリ oracle 製品 10.2.0 サーバー jdbc lib

Javaでデータベースに接続するには?

出典: 私のデスクトップから

多くの jar ファイルが利用可能であるはずです。ただし、ojdbc14.jar は最新です。同じことが私たちの目的にも使用できます。この jar はプロジェクトのクラスパスに追加する必要があります。下の画像をご確認ください。

Javaでデータベースに接続するには?

出典: 私のデスクトップから

次の属性を持つアーティスト テーブルを作成してみましょう: SQL コマンド ラインを Oracle Express Edition の別個のモジュールとして直接実行できます。ただし、まず接続する必要があります。「connect」コマンドを実行してデータベースに接続します。

Javaでデータベースに接続するには?

出典: 私のデスクトップから

この図の一部として、これを実現するために、Artist.java、CreateTable.java、ArtistManagementDao.java という 3 つの Java クラスを作成します。

また、Java 層に Artist Bean というクラスを作成する必要があります。このクラスには、上記のコンテキストを持つアーティストの属性が必要です。以下のようになります:

アーティスト.java

Javaでデータベースに接続するには?

ArtistManagementDao と CreateTable.java という名前の他の 2 つの Java クラスを作成しましょう。

ArtistManagementDao.java

package com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class ArtistManagementDao {
private final static String DRIVERNAME="oracle.jdbc.driver.OracleDriver";
private final static String URL="jdbc:oracle:thin:@LENOVO-PC:1521:XE";
private final static String USERNAME="System";
private final static String PASSWORD="Your DB password";
private Connection con =null;
public void addArtist(Artist a)
{
try {
Class.forName(DRIVERNAME);
String sql="insert into Artist1 values (?,?)";
con=DriverManager.getConnection(URL, USERNAME, PASSWORD);
PreparedStatement pst=con.prepareStatement(sql);
pst.setString(1, a.getArtistID());
pst.setString(2, a.getArtistName());
pst.executeUpdate();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println(e);
} catch (SQLException e) {
System.out.println(e);
}
}
}

説明:

  1. Dao クラスは、アプリケーション/ビジネス層を永続層から分離するのに役立ちます。通常、これはリレーショナル データベースです。
  2. コンピュータ名と DB ポート番号 (理想的には 1521 ) を先頭に JDBC:oracle:thin:@ を付けた DB URL を作成しました。次に、データベース接続中にこれらの属性を渡すためのユーザー名とパスワードを作成しました。運用環境ではこれらの値を暗号化することを強くお勧めします。
  3. addArtist メソッド内で、conn ステートメントを使用して前に学習した手順に従って接続を確立しようとしました。
  4. 挿入メソッドを使用して、属性からデータベースに値をプッシュしました。
  5. テストする次のステートメントには、データベースから値を取得する get ステートメントがあります。
  6. 例外をキャッチして例外をスローするためにブロックをキャッチすることも試みました。

CreateTable.java

package com;
import java.sql.*;
public class CreateTable{
static final String DB_URL = "jdbc:oracle:thin:@LENOVO-PC:1521:XE";
static final String USER = "System";
static final String PASS = "Your DB Password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
ArtistManagementDao am=new ArtistManagementDao();
Artist a=new Artist();
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("Connecting to a selected database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Connected to database successfully");
System.out.println("Creating table");
stmt = conn.createStatement();
//ARTIST TABLE
String sql = "CREATE TABLE Artist3 " +
"(ArtistID varchar2(5) primary key not NULL, " +
" ArtistName varchar2(25))";
stmt.executeUpdate(sql);
System.out.println("Created table in given database...");
a.setArtistId("abc");
a.setArtistName("ankit");
am.addArtist(a);
System.out.println("\nArtistID="+a.getArtistID()+"\nArtistName="+a.getArtistName());
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(stmt!=null)
conn.close();
}catch(SQLException se){
}
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
}
}

説明:

  1. コンピュータ名と DB ポート番号 (理想的には 1521 ) を先頭に JDBC:oracle:thin:@ を付けた DB URL を作成しました。次に、データベース接続中にこれらの属性を渡すためのユーザー名とパスワードを作成しました。運用環境ではこれらの値を暗号化することを強くお勧めします。
  2. CreateTable.java クラスで、ArtistManagementDao.java クラスと Artist.java クラスのオブジェクト「am」と「a」をそれぞれ作成しました。
  3. 次に、conn ステートメントを使用して前に学んだ手順に従って、接続を確立しようとしました。
  4. 次に、Artist3 という名前のテーブルを作成し、データベースを更新するか、execute the ステートメントを使用してこれをデータベースにプッシュしました。
  5. 属性に値を割り当てたい場合は、アーティスト クラス用に作成したオブジェクトを使用しますが、このクラスはデータベースに値を挿入しないことに注意してください。 ArtistmanagementDao クラスになります。すでに値を属性に保存しています。これをデータベースにプッシュする方法については、その日のクラスで説明します。
  6. 最後に、ArtistManagementDao の「am」オブジェクトを使用して、このオブジェクト「a」を ArtistManagementDao Java クラスのメソッド addArtist() に渡しました。
  7. 例外をキャッチして例外をスローするためにブロックをキャッチすることも試みました。

以上がJavaでデータベースに接続するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
带你搞懂Java结构化数据处理开源库SPL带你搞懂Java结构化数据处理开源库SPLMay 24, 2022 pm 01:34 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

Java集合框架之PriorityQueue优先级队列Java集合框架之PriorityQueue优先级队列Jun 09, 2022 am 11:47 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

完全掌握Java锁(图文解析)完全掌握Java锁(图文解析)Jun 14, 2022 am 11:47 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

一起聊聊Java多线程之线程安全问题一起聊聊Java多线程之线程安全问题Apr 21, 2022 pm 06:17 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

详细解析Java的this和super关键字详细解析Java的this和super关键字Apr 30, 2022 am 09:00 AM

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

Java基础归纳之枚举Java基础归纳之枚举May 26, 2022 am 11:50 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

java中封装是什么java中封装是什么May 16, 2019 pm 06:08 PM

封装是一种信息隐藏技术,是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法;封装可以被认为是一个保护屏障,防止指定类的代码和数据被外部类定义的代码随机访问。封装可以通过关键字private,protected和public实现。

归纳整理JAVA装饰器模式(实例详解)归纳整理JAVA装饰器模式(实例详解)May 05, 2022 pm 06:48 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于设计模式的相关问题,主要将装饰器模式的相关内容,指在不改变现有对象结构的情况下,动态地给该对象增加一些职责的模式,希望对大家有帮助。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール