• ベストアンサー

Javaでのデータベースアクセス

めとろいと(@naktak)の回答

  • ベストアンサー
回答No.1

> Javaにおいてデータベースにアクセスするライブラリ類は現在でもJDBCで良いのでしょうか? JDBCです。 > またデータベースはMySQLが標準的なのでしょうか? 何を以て標準的というのか不明ですが、利用したい、または利用可能なDBを利用すればいいと思います。 業務で利用するならOracleだってありえますし、利用DBは利用データやアクセス数などの規模によりますね。 MySQLのJDBCドライバはこちら http://dev.mysql.com/downloads/connector/j/

oboroxx
質問者

お礼

早速の回答ありがとうございます! Javaでは大分前からJDBCの様ですが変わらないのですね。 ちょっと古めの本でもよいのかなと考えると選べる本が多そうでいい感じです。 データベースの標準とあったのは、Macが頭にあったので、思わずそう書いてしまいました。 MySQLのドライバのダウンロードサイトまでご紹介くださりありがとうございます。 コツコツとやっていこうと思います。

関連するQ&A

  • Javaで、TomCatプロジェクトを使用したJDBCを使用したデータベースのアクセスについて教えてください。

    すぐに回答を! TomCatプロジェクトでDBアクセスできず困っています。 ●Javaプロジェクトの場合(成功)  ・Javaプロジェクト作成 → 新規 → クラスを作成。  ・プロジェクト選択 → メニューバー「プロジェクト」 → プロパティー   → Javaのビルド・パス → ライブラリーの追加 → ユーザーライブラリー   → 新規 → MySQLドライバを追加  ・次のソースの実行にて、JDBC Dirverの接続を確認。 [JdbcSample.java] import java.sql.*; class JdbcSample { public static void main(String[] args) { try { // 1.JDBC Driver の登録 Class.forName("com.mysql.jdbc.Driver").newInstance(); // 2.データベースへの接続 Connection con = DriverManager.getConnection( "jdbc:mysql://localhost/db1", "(ユーザー名)", "(パスワード)"); // 3.SQL ステートメント・オブジェクトの作成 Statement stmt = con.createStatement(); // 4.SQL ステートメントの発行 ResultSet rs = stmt.executeQuery("SELECT * from null_test_tbl"); // 5.結果の出力 while (rs.next()) { System.out.println(rs.getString("allow_null")); } // 6.データベースのクローズ rs.close(); stmt.close(); con.close(); } catch (SQLException e1) { System.out.println( "SQLException: " + e1.getMessage()); System.out.println( " SQLState: " + e1.getSQLState()); System.out.println( " VendorError: " + e1.getErrorCode()); } catch (Exception e2) { System.out.println( "Exception: " + e2.getMessage()); } } } ●TomCatプロジェクト作成の場合(失敗)  (1)TomCatプロジェクト作成 → 新規 → クラスを作成。  (2)プロジェクト選択 → メニューバー「プロジェクト」 → プロパティー   → Javaのビルド・パス → ライブラリーの追加 → ユーザーライブラリー   → 新規 → MySQLドライバを追加  (3)サーブレットからBeanの呼び出し。  「​http://localhost:8080/test_mvc/jdbcSample​」  (4)エラー「Exception: com.mysql.jdbc.Driver」 が発生。(ドライバーが見つかりません?) [servlet] package ne.jp; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class TestMvc extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { JdbcSample da = new JdbcSample(); try { da.dbAccessTest(); (※)←ここでBeanのデータベースアクセスメソッドを呼び出し } catch (Exception e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } // HTML出力の準備 response.setContentType("text/html;charset=Shift_JIS"); PrintWriter out = response.getWriter(); out.println("<html><body><p>こんにちわ!</p></body>"); } } [Bean] package ne.jp; import java.sql.*; class JdbcSample { //Beanコンストラクタ public JdbcSample(){ } //データベースアクセス確認 public void dbAccessTest(){ try { // 1.JDBC Driver の登録 Class.forName("com.mysql.jdbc.Driver").newInstance(); // 2.データベースへの接続 Connection con = DriverManager.getConnection( "jdbc:mysql://localhost/db1", "***", "*****"); // 3.SQL ステートメント・オブジェクトの作成 Statement stmt = con.createStatement(); // 4.SQL ステートメントの発行 ResultSet rs = stmt.executeQuery("SELECT * from null_test_tbl"); // 5.結果の出力 while (rs.next()) { System.out.println(rs.getString("allow_null")); } // 6.データベースのクローズ rs.close(); stmt.close(); con.close(); } catch (SQLException e1) { System.out.println( "SQLException: " + e1.getMessage()); System.out.println( " SQLState: " + e1.getSQLState()); System.out.println( " VendorError: " + e1.getErrorCode()); } catch (Exception e2) { System.out.println( "Exception: " + e2.getMessage()); } } }

    • ベストアンサー
    • Java
  • JDBC対応のデータベース?

    JAVAアプレット(JDK1.2)でデータベース(MS ACCESS97)へアクセスする場合 JAVAでのデータベースアクセスにはJDBCを使用し, MS ACCESSに対してはODBCを使用し, 橋渡しとしてJDBC-ODBC BRIDGEドライバを使用する方法が本でよくとられているように僕は解釈しています。(違うかもしれませんが...) しかし,MS ACCESS以外のデータベースでJDBCだけでアクセスしSQLをできるようなデータベースはあるのですか? あるのならそちらのほうがいいのではないのでしょうか? という質問でした。

  • java データベース接続

    javaの勉強していまして、質問があります。よろしくお願いします。 javaでデータベースの接続ができなくて迷っております。ずっとネットで調べてもダメでした。 ネットで調べたとおりにやっても、 例外発生:java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver このようなエラーがでます。 eclipseを使ってます。windows7 練習にアクセスにつなごうと思ってます。 事前にデータソース(ODBC)の登録はしました。 ドライバーとかインストールするものなのでしょうか? package sample; import java.sql.Connection; import java.sql.DriverManager; public class Hello { public static void main(String args[]) { try { //JDBCドライバのロード Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //各設定 String url = "jdbc:odbc:SampleDB030"; String user = ""; String pass = ""; //データベースに接続 Connection con = DriverManager.getConnection(url,user,pass); System.out.println("接続成功"); //データベースを切断 con.close(); } catch (Exception e) { System.out.println("例外発生:" + e ); } } }

    • ベストアンサー
    • Java
  • なぜ「アクセス」なんですか?

    WWWからデータベースへアクセスするjavaプログラム作成時によく「MS ACCESS」を使用するのはなぜなんですか?JDBCで直接データベースへアクセスできるようなデータベースがあればわざわざODBCを使用しJDBC-ODBC bridgeで橋渡しをしなくてもJDBCだけでできるんではないですか?また直接アクセスできるデータベースがない等の問題点があるのですか?教えてください.よくわからないのでお願いします.(質問が的はずれだったらすみません.まだ勉強がたりないもので...)

  • javaでMySQLのデータ検索

    以下のサイトでただいま勉強しています。環境はMySQL4.0.15です。 http://msugai.fc2web.com/java/JDBC/mmMySQL.html ●JDBC ソースコードのところでつまづいています。 javaの実行 C:\java>java JdbcSample Exception: com.mysql.jdbc.Driver java.lang.ClassNotFoundException: com.mysql.jdbc.Driver  … // 1.JDBC Driver の登録 // 2.データベースへの接続 のあたりでエラーが発生している状態です。データベースの接続はAccess環境なら『コントロールパネル』→『管理ツール』→『データソース(ODBC)』で使用するデータベースを設定します。MySQLもこのあたりの設定が必要なんでしょうか? ●Accessの場合 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection Con = DriverManager.getConnection("jdbc:odbc:設定したデータベース名"); アドバイスお願いします。

  • javaからAccessをアクセスするときにファイルを直接指定できないのですか?

    JavaでMicrosoft Accessにアクセスするときに以下のプログラムでアクセスしました。 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:DBs"); このプログラムを作成する前にODBC データソース アドミニストレータでデータベースの登録を行いました。 データベース名はデータソース名に拡張子を付けた名前にしました。 ODBC データソース アドミニストレータの登録を行わずにプログラムの中にファイルの場所を記述してMicrosoft Accessにアクセスすることはできないのでしょうか?

  • Accessもデータベースなのに、、、

    ここの教えてgooのカテゴリーを見て疑問に思ったのですが 「データベース」の細分が ・SQL Server ・Oracle ・PostgreSQL ・MySQL ・その他(データベース) であり Accessがありません! 私はAccessしか使えないのですが れっきとしたデータベースだと思っていたのですが データベースの世界では大したものじゃないから その他に分類されてしまうのでしょうか? それともオフィスのカテゴリーがあるから省略されてるのでしょうか? ショックなので質問しました。 ご回答よろしくお願い致します。

  • Javaに対応しているJDBC…なのかな?

    早速質問させていただきます。 現在JavaとMySQLを使って、データベースを作っています。 JavaとMySQLをつなぐためにJDBCを入れました。 入れたのは、mysql-connector-java-3.1.11です。 私が参考にして使っている本の通りにするなら、mysql-connector-java-3.1.7バージョンが推奨されているんですが、MySQLをインストールするサイトに行っても3.1.7のバージョンが探しきれないので、3.1.11をインストールしました。 だけど…mysql-connector-java-3.1.11ってちゃんと、Javaに対応しているのでしょうか??? それを教えていただきたい!! この投稿をご覧になった皆さん。どうか、この疑問に答えてください!! 結構切羽詰まってます(T0T) それか、mysql-connector-java-3.1.7が即効インストールできるページに飛ぶURLをご存知の方もご一報頂けると嬉しいです。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • Javaでデータベース(PostgreSQL)に接続したいです

    学校でJavaの勉強をしています。この前、DB(PostgreSQL)に接続しました。 勉強のため、家のPCでもDBに接続できるようにしたいです。 自分で試してみましたが、上手くいかないので、知識をお持ちの方、どうかご教示ください。 ・Javaのバージョン     JDK1.5.08 ・PostgresSQLのバージョン  PostgresSQL8.2 ・OS               WindowsXP このサイト http://jdbc.postgresql.org/download.html から、postgresql-8.2-504.jdbc3をダウンロードしました。 ダウンロードしたファイルを、Program Files>Java>jdk1.5.0_08>jre>lib>ext と   Program Files>Java>jre1.5.0_08>lib>ext に 入れました。 (学校ではこのextというフォルダに入れていました。ちなみに学校のPCに入れたファイルは postgresql-jdbc3でした。) 学校の環境ではデータベースにアクセスできました。なので、SQL文とDBに接続するための Javaのコードは正しいと思います。 しかし実行すると、NullPointerException というエラーが出ます。 ファイルを入れた場所が間違っていると思うのですが、postgresql-8.2-504.jdbc3は どのフォルダに入れればよいのでしょうか。 解決する知識をお持ちの方、どうかご教示願います。 宜しくお願いいたします。

    • ベストアンサー
    • Java
  • JDBCについて

    JDBCを用いたMySQLデータベースへの接続方法について質問があります。 【現在の状況】 tomcatをインストール済み(正常に作動・・・起動した状態で、http://localhost:8080/に接続できます。) MySQLをインストール済み(正常に作動・・・データベースを作成できます。(例えば、sampleとします。)) JDBCドライバをセットアップ済み(CLASSPATHの設定も問題ありません。) しかし 作成したデータをjavaプログラムを用いて表示しようとしたところ com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user ''@'localhost' to database 'sample' というエラーが出てしまいました。 データベースへのアクセスが拒否されたとあるのですが 理由がわからずに困っております。 接続は、以下のようにしています。 Class.forName("com.mysql.jdbc.Driver"); Connection cn = DriverManager.getConnection("jdbc:mysql:///cardb", "", ""); 解決策をご存知の方いらっしゃいましたら 御指導願います。

    • ベストアンサー
    • Java