java jdbc n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
データベースと Java をつなげよう! ~ JDBC~ PowerPoint Presentation
Download Presentation
データベースと Java をつなげよう! ~ JDBC~

Loading in 2 Seconds...

play fullscreen
1 / 40

データベースと Java をつなげよう! ~ JDBC~ - PowerPoint PPT Presentation


  • 138 Views
  • Uploaded on

データベースと Java をつなげよう! ~ JDBC~. Presented by SFC-TYPE. 今回の目標. データベースを Java プログラムから使えるようになる JDBC とは何か、説明できる JDBC の使い方を知る. 1. 前回の復習. MySQL とお話をする. 前回の復習のポイント. データベースシステムとは何か SQL を使うと何が嬉しいか. ーデータベースと DBMS のこと. ー DBMS の種類に依存せずに  データベースの操作ができる. 奥様 WEB をデータベースにしよう!. 奥様 Web の投稿画面は、

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'データベースと Java をつなげよう! ~ JDBC~' - adeola


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2
今回の目標
  • データベースをJavaプログラムから使えるようになる
    • JDBCとは何か、説明できる
    • JDBCの使い方を知る
slide3

1.前回の復習

MySQLとお話をする

slide4
前回の復習のポイント
  • データベースシステムとは何か
  • SQLを使うと何が嬉しいか

ーデータベースとDBMSのこと

ーDBMSの種類に依存せずに

 データベースの操作ができる

slide5
奥様WEBをデータベースにしよう!

奥様Webの投稿画面は、

オリジナルレシピ・投稿画面

お名前:

料理名:

作り方:

slide6
テーブルにするとこんな感じ

データベース名:okusama

テーブル名:toukoudata

slide7
やってみよう!(5分間)
  • MySQLを使って先ほどのデータベースを作りましょう(ishiharaだけ作って下さい)

データベース名:okusama

テーブル名:toukoudata

mysql
MySQLの起動
  • MySQLを起動させる(前回の復習)

DOSプロンプトから

>mysqld-max --standalone(win95&98)

>mysqld-max-nt --standalone(win 2000&xp)

  • クライアントを使ってお話しする

>mysql (リターン)

slide9
データベースの作成
  • データベースの作成

mysql>create database okusama;

  • 確認するなら...

mysql>show databases;

  • データベースの選択

mysql>use okusama

slide10
テーブルの作成
  • テーブル内の型の定義

mysql>create table toukoudata(

>contributor text,

>title text,

>content text

>);

slide11
テーブル内のデータの作成
  • データの追加

mysql>insert into toukoudata(contributor,title,content)

>values (’ishihara’,’tamago’,’shio’);

slide12
テーブル内のデータの表示
  • テーブル内のデータの表示

mysql> select * from toukoudata;

+-------------+--------+---------+

| contributor | recipe | content |

+-------------+--------+---------+

| ishihara | tamago | shio |

+-------------+--------+---------+

1 row in set (0.01 sec)

mysql>

2 jdbc

2.JDBC

2-1.JDBCとは?

2-2.JDBC解説

2 1 jdbc
2-1.JDBCとは?
  • JDBCを理解するために必要なもの
    • mm.mysql-2.0.14(JDBC API)
    • IchiranSQL.java(投稿データを一覧表示する)
    • ToukouSQL.java(新しいレシピを投稿する)

次のURLからダウンロードしてください。

http://www.crew.sfc.keio.ac.jp/seminar/2002spring2/

slide15
実行してみよう!
  • mm.mysql-2.0.14-bin.lzhを解凍する
  • その中にあるmm.mysql-2.0.14-bin.jarファイルを,

JDKをインストールしたディレクトリ/jre/lib/ext/

以下に置く。

例)c:/jdk1.3.1/jre/lib/ext/

slide16
実行例
  • 投稿データを一覧表示するIchiranSQL.javaプログラムの実行

%javac IchiranSQL.java (リターン)

%java IchiranSQL (リターン)

Connectiog to Database....

ishihara[tamago/shio]

%

slide17
Javaプログラムとデータベースがつながった!Javaプログラムとデータベースがつながった!
  • JavaプログラムとデータベースをつなぐためにはJDBCドライバが必要です
  • JDBCは、JavaからDBを操作するための部品群です(Connectionクラス,Statementクラス、ResultSetクラス等)
  • それでは、図で理解してみましょう
java jdbc jdbc dbms
Javaプログラム、JDBC、JDBCドライバ、DBMSの関係図Javaプログラム、JDBC、JDBCドライバ、DBMSの関係図

Java

プログラム

MySQL

JDBCドライバ

Oracle

JDBC

Access

2 2 jdbc
それではIchiranSQL.javaのソースコードを見ながら、Javaプログラムとデータベースがどのようにしてお話ししているか理解しましょう。それではIchiranSQL.javaのソースコードを見ながら、Javaプログラムとデータベースがどのようにしてお話ししているか理解しましょう。2-2.JDBCの解説
slide20
JDBCドライバを読み込む
  • Class.forNameメソッドでJDBCドライバを読み込みます。今回はMySQLのJDBCドライバを使います。

//JDBCドライバを選択する

String jdbcDriver = "org.gjt.mm.mysql.Driver";

Class.forName(jdbcDriver);

jdbc url
JDBC URL
  • DBMSとの接続にはDBMS URLを指定する必要があります。URLの指定方法はデータベースの種類によって異なります。

MySQLの書式jdbc:mysql://[サーバ名]/[データベース名]例)jdbc:mysql://localhost/okusama/

slide22
データベースの接続
  • データベースの接続にはConnectionクラスを使います。 DriverManager.getConnection()を使ってデータベースに接続する。以後は、Connectionオブジェクトを通してデータベースにアクセスします。

Connectionconn =

DriverManager.getConnection(url,user,password)

slide23
データベースの接続の終了
  • 使い終わったらclose()メソッドを実行します。接続を閉じることで、データベースのメモリ等のリソースが解放され、速度が速くなります。

conn.close();

slide24
SQL文を投げるステートメントを作る
  • SQL文を投げて結果を受け取るには、Statementクラスを使います。ConnectionクラスのcreateStatement()からStatementオブジェクトを取得します。

//SQL文を実行するステートメントの作成

Statement statement = conn.createStatement();

slide25
SQL文を投げるステートメントを閉じる
  • SQL文によるデータベールとのお話が終わったら、ステートメントを閉じましょう。

statement.close

sql 1 3
SQL文を投げて結果を受け取る(1/3)
  • StatementクラスのexecuteQetry()は、投げたSQL文の結果をResultSetオブジェクトを返します。

//SQL文の実行

ResultSet toukoudata =

statement.executeQuery(sqlString);

resultset

こんなの

contributor

title

content

ishihara

tamago

shio

takeda

cake

sugar

kawamura

medama

yowabi

ResultSetとは
  • 表です。
resultset1

ここを見る

next()で次は、

ここを見る

ResultSet
  • ResultSetクラスは表を保持して、必要に応じて、欲しい情報を出してくれます。
  • 例)next()メソッド

この列の表があるかをTrue/Falseで返し、

Trueならこの列の情報を保持する。

resultset2

例えば、

ResultSetが

現在ここを

指していたら、

getString(“content”)

でshioが得られる

ResultSet
  • ResultSetクラスは表を保持して、必要に応じて、欲しい情報を出してくれます。
  • 例)getString()メソッド
sql 2 3
SQL文を投げて結果を受け取る(2/3)
  • IchiranSQL.javaではSelect文を実行してみましたが、今度はInsert文を使ってデータの追加をします。
  • ToukouSQL.javaではデータの追加をするために、StatementクラスのexecuteUpdate()を使います。
slide31
実行してみよう!

>javac ToukouSQL.java

>java ToukouSQL

Connecting to Database….

result of executeUpdate(): 1

toukousql java
ToukouSQL.javaがしたこと
  • ToukouSQLプログラムの実行により、データの追加をしました
  • さっそく追加されていたか、IchiranSQL.javaプログラムを実行して確認しましょう
sql 3 3
SQL文を投げて結果を受け取る(3/3)
  • executeUpdate()は、投げかけられたinsert文,delete文の結果を整数で返します。

//SQL文の実行

result = statement.executeUpdate(sqlString);

slide34
整理
  • JDBCは主要なつのクラスを持っていました
    • Connectionーデータベースと接続するクラス
    • StatementーSQL文を投げかけて結果を受け取るクラス
      • executeQuery()メソッド
      • executeUpdate()メソッド
    • ResultSetー結果を受け取るクラス
slide35
確認
  • JDBCとは何ですか?
  • JDBCドライバとは何ですか?

ー主要な3つのクラスの働きは?

slide36
ディスカッション(1/2)
  • Statementクラスには、executeQuery()メソッドとexecuteUpdate()メソッドがありました。この二つのメソッドの違いはなんですか?
slide37
ディスカッション(2/2)
  • ConnectionクラスとStatementクラスの違いは?
classpath
コーヒーブレイク♪(Classpathの話)
  • MySQLのJDBCドライバを〜jre/lib/ext/以下に置きました。ここに置かれるクラスは、javacやjavaを実行するときに参照されます。
  • Servletが実行されるときに参照したいクラスがある場合(例えば、JDBCドライバをServletで使う場合)、WEB-INF/lib/以下のディレクトリに置きましょう。
slide39
おわりに
  • 今回はJavaプログラムからDBを操作する方法について学びました。来週は、DBのもっと高度な操作、機能について学びます。
slide40
課題
  • コンソールに対してSQL文を打つことによってDBに要求を発行できるようにする