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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java

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

Q&A

解決済

1回答

774閲覧

java mysql データ取得

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java

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

0グッド

0クリップ

投稿2017/11/02 07:32

編集2017/11/02 08:40

eclipse4.4を使用し、mysql server5.7を使用しています。

javaでmysqlに接続することは成功しましたがjavaでselect してのテーブル内容の取得がわかりません。

package sample1; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class MyQuery { public static void main(String[] args) { Connection con = null; try { // JDBCドライバのロード Class.forName("com.mysql.jdbc.Driver").newInstance(); // MySQLに接続 con = DriverManager.getConnection("jdbc:mysql://localhost:3306/データベース名", "ID", "パスワード"); System.out.println("MySQLに接続できました。"); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { System.out.println("JDBCドライバのロードに失敗しました。"); } catch (SQLException e) { System.out.println("MySQLに接続できませんでした。"); } finally { if (con != null) { try { con.close(); } catch (SQLException e) { System.out.println("MySQLのクローズに失敗しました。"); } } } } }

現在上記のコードでmysqlに接続できたと確認しました。

データ取得するためにはStatementを作成して executeQuery()でSQLを渡すようなのですがどこにそれを記入して行うのかわかりません。

回答として求めているものとして
①ソースコードの修正
②データの取得方法 ソース
③参考URL
など・・・

※かなりの初心者ですので小学生でもわかるような回答であると助かります。

何卒よろしくお願いします。

// JDBCドライバのロード Class.forName("com.mysql.jdbc.Driver").newInstance(); // MySQLに接続 con = DriverManager.getConnection("jdbc:mysql://localhost:3306/データベース名", "ID", "パスワード"); System.out.println("MySQLに接続できました。"); Statement stm = con.createStatement(); String sql = "select * from programing"; ResultSet rs = stm.executeQuery(sql); while(rs.next()){ int pass = rs.getInt("pass"); String name = rs.getString("name"); System.out.println("取得結果 -> " + pass + ":" + name); }

参考リンク

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

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

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

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

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

m.ts10806

2017/11/02 07:49

現在のソースは何を参考に書いたのでしょうか?あまり「接続だけ」を書いているコードは見ないですが、そこにSQL実行をしているコードはなかったのでしょうか?
退会済みユーザー

退会済みユーザー

2017/11/02 08:12

インターネットを参考にしました。そこに追加した上記のコードを記入するように書いていたのですが私の考えている追加方法で試してみたところmysqlに入っているデータを取得できなかったので質問いたしました。
amadablam

2017/11/03 00:30

「データを取得できない」だけでは、誰も何もわからないでしょう。少なくとも実行すると「どうなって」データが取得できないのかを明記する必要があります(例えばエラー・メッセージが表示されるとか、何も表示されないとか)。「小学生でもわかるような回答であると助かります」と書かれていますが、回答者の立場としても「小学生でもわかるように現状の問題を説明してください」となりますよ。
m.ts10806

2017/11/04 21:16

「参考リンク」の「データの取得」の項にほぼ書いてありますね。もちろん既に回答があるようにデータベースの設定がテーブル・カラム共にしてあるのが前提です。記事をどこまで読んで、どこまで理解されたのかがこの質問だけでは伝わりません。
guest

回答1

0

ベストアンサー

①ソースコードの修正

データベースにprogramingというテーブルがあり、passやnameという列があることが前提ですが
ソースコードの修正自体は不要です。

System.out.println("MySQLに接続できました。");の下に

Statement stm = con.createStatement();
String sql = "select * from programing";
ResultSet rs = stm.executeQuery(sql);

while(rs.next()){
int pass = rs.getInt("pass");
String name = rs.getString("name");
System.out.println("取得結果 -> " + pass + ":" + name);
}
を入れれば良いだけですよ。

②データの取得方法

whileの部分がデータの取得です。
1行ずつデータがあるので、列名を指定して変数に入れています。

③参考URL

上記で解決しているので、参考URLは不要だと思います。

投稿2017/11/03 17:49

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2017/11/08 01:28

上記の追加内容を記載することで接続、取得に成功しました。ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問