質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

2回答

3549閲覧

Javaとデータベースの連携に

byth_channel

総合スコア10

JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

1クリップ

投稿2015/04/16 00:16

Javaとローカルデータベースの連携について

インターネットで調べましたが、どうしてもピンとくる内容のサイトが見つかりませんでしたので、今回初めてこちらで質問させていただくことにいたしました。

私は現在、Javaとデータベースを利用したGUIプログラムを作成しております。今回、データベースをサーバに接続しない形で利用したかったのですが、適切な方法が見つかりませんでした。以下の要望を満たす方法、または近しい方法があればご教授願います。

・Windows環境で動く
別途JDBCドライバ等のインストールが不要
・ローカルなデータベース
複数のクライアントPCから利用した時に、それぞれ異なるデータベースを参照可能
・データベースファイルを実行ファイルに組み込まない
データベースファイルを差し替え可能
・フリーウェアのみで構成
身内への配布は考えていますが、商用利用の予定はなし
・Javaを使用
学習目的も兼ねてるので、このままJavaで開発したい

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

組み込みDBと呼ばれているものはいかがでしょうか。SQLite, H2, Apache Derby など。
JDBCドライバは必要になりますが、クライアントPCとは別の「サーバ」は不要です。
データはクライアントPCにファイルとして保存されます。SQLも使えます。

投稿2015/04/16 01:14

kodai

総合スコア759

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matobaa

2015/04/16 01:34

JavaDB (= Apache Derby) ならJDKに同梱されています。 http://www.oracle.com/technetwork/jp/java/javadb/ http://db.apache.org/derby/ http://hsqldb.org/ http://www.h2database.com/ それぞれクライアントサーバモード(別途データベースを起動しておく必要がある)やインメモリモード(プロセスが終了したら中身が消える)といった使い方もできるのですが、JDBCドライバクラスに "Embed" といったキーワードが入っている方法を選択すれば組み込みモードで動きます。 例えば JavaDB なら org.apache.derby.jdbc.EmbeddedDriver です。
kodai

2015/04/16 02:05

詳しい解説ありがとうございます。
byth_channel

2015/04/16 03:39

お二方ご回答ありがとうございます。 調べてみました。 よろしければ補足でご回答頂ければと思うのですが、 例えばJavaDBはJDKをインストールした時に同時にインストールされるとあります。 普段ソフトウェアの開発をしない人は通常JREのインストールになると思いますが、そのような環境でも使用できますか? また
byth_channel

2015/04/16 03:41

「また」は、消し忘れです、すみません。
kodai

2015/04/16 03:55

JRE + JavaDB(Derby)のJDBCドライバ(Jarファイル)になりそうですね。
byth_channel

2015/04/16 05:04

ありがとうございます。jarファイルでしたら簡単に同梱できそうですし、やってみます。 まだまだ未熟で、不透明な部分が多いですが、とりあえずやってみようと思います。
guest

0

JSONなりYAMLなりXMLなりをデータベースに見立てるのが簡単かな。

投稿2015/04/16 00:21

chokojori

総合スコア971

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

byth_channel

2015/04/16 01:29

ご解答ありがとうございます。 なるほど、調べてみました。 その他にもcsvなども使えるそうですね。 実際にSQLを投げて処理はできるのでしょうか。
chokojori

2015/04/16 01:49

SQLを使いたいなら、組み込みDBを使うべきでしょうね。 CSVなりXMLなりをDBに見たてて、SQLで処理するライブラリもありますが。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問