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

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

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

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

Java

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

データベース

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

Q&A

解決済

1回答

1771閲覧

Javaでダータベース接続 (2)

ryohasegawa

総合スコア437

MySQL

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

Java

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

データベース

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

0グッド

0クリップ

投稿2017/06/10 12:06

編集2017/06/11 02:07

Javaでデータベースに接続したいです。
データベースは192.168.12.15のサーバで立ち上がっています。
実際に接続したいPCのIPは192.168.12.10です。データベース側に、このIPとユーザを登録してあるので、接続はできると思います。
あとは、コードの書き方なんですが、このサイトをみてコピペして少し書き換えたんですが、

Java

1package Test; 2 3import java.sql.DriverManager; 4import java.sql.SQLException; 5 6import com.mysql.jdbc.Connection; 7import com.mysql.jdbc.Statement; 8 9public class Test { 10 public static void main(String[] args) throws SQLException { 11 // (1) 接続用のURIを用意する(必要に応じて認証指示user/passwordを付ける) 12 String uri = "jdbc:mysql:memory:192.168.12.15;create=true"; 13 14 // (2) DriverManagerクラスのメソッドで接続する 15 Connection conn = (Connection) DriverManager.getConnection(uri); 16 17 // (3) SQL送信用インスタンスの作成 18 Statement st = (Statement) conn.createStatement(); 19 20 // (4) SQL送信 21 st.executeUpdate("create table sample(id integer primary key)"); 22 Long start = System.currentTimeMillis(); 23 Long delta = start; 24 25 // とりあえず1万回のループ 26 for (int i = 0; i < 10000; i++) { 27 st.executeUpdate("insert into sample values(" + i + ")"); 28 29 // スプリットの計算 30 if (i % 1000 == 0) { 31 Long now = System.currentTimeMillis(); 32 Long split = now - delta; 33 System.out.println("" + i + ": " + split + "ms."); 34 delta = now; 35 } 36 } 37 Long end = System.currentTimeMillis(); 38 System.out.println("所要時間: " + (end - start) + "ms."); 39 40 // (5) 後始末(インスタンスの正常クローズ) 41 st.close(); 42 conn.close(); 43 } 44}

この箇所をどう書いたらいいんですか?

// (1) 接続用のURIを用意する(必要に応じて認証指示user/passwordを付ける) String uri = "jdbc:mysql:memory:192.168.12.15;create=true";

一応PHPから接続する時みたいに、IP書いたのですが、どう書くのが正解なのですか?
###追記

Java

1package Test; 2 3import java.sql.DriverManager; 4import java.sql.SQLException; 5 6import com.mysql.jdbc.Connection; 7import com.mysql.jdbc.Statement; 8 9public class Test { 10 public static void main(String[] args) throws SQLException { 11 // (1) 接続用のURIを用意する(必要に応じて認証指示user/passwordを付ける) 12 String uri = "jdbc:mysql:memory:192.168.12.15;create=true"; 13 14 // (2) DriverManagerクラスのメソッドで接続する 15 Connection conn = null; 16 String url = "jdbc:mysql://192.168.12.15/******"; 17 String user = "******"; 18 String password = "******"; 19 20 try{ 21 conn = (Connection) DriverManager.getConnection(url, user, password); 22 23 // データベースに対する処理 24 25 }catch (SQLException e){ 26 } 27 28 // (3) SQL送信用インスタンスの作成 29 Statement st = (Statement) conn.createStatement(); 30 31 // (4) SQL送信 32 st.executeUpdate("create table sample(id integer primary key)"); 33 Long start = System.currentTimeMillis(); 34 Long delta = start; 35 36 // とりあえず1万回のループ 37 for (int i = 0; i < 10000; i++) { 38 st.executeUpdate("insert into sample values(" + i + ")"); 39 40 // スプリットの計算 41 if (i % 1000 == 0) { 42 Long now = System.currentTimeMillis(); 43 Long split = now - delta; 44 System.out.println("" + i + ": " + split + "ms."); 45 delta = now; 46 } 47 } 48 Long end = System.currentTimeMillis(); 49 System.out.println("所要時間: " + (end - start) + "ms."); 50 51 // (5) 後始末(インスタンスの正常クローズ) 52 st.close(); 53 conn.close(); 54 } 55}

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

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

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

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

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

guest

回答1

0

ベストアンサー

別途、JDBC接続アカウント+パスワードなど必要なものを設定してください。

以下サイトを参照すると良いでしょう。
JavaDrive:データベースへの接続と切断

投稿2017/06/10 13:06

A-pZ

総合スコア12011

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

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

ryohasegawa

2017/06/11 02:07

追記したコードでうまく接続できますか? コンパイルエラーはありません。
A-pZ

2017/06/11 03:39

接続情報があっているならば接続できるでしょう。 あと、throws SQLException しているのですから、もし接続失敗したときに try{ ~ }catch (SQLException e){ } では接続時にエラーがあっても特に何も起こりませんので、try~catchは外したほうが良いのでは。
ryohasegawa

2017/06/11 08:29

catch にエラーを出す文を書けば、エラー時に出力するので問題ないですよね?
A-pZ

2017/06/11 09:34

catch句で出力するエラーの内容で十分問題が把握でき、例外時の対処がなされていれば良いでしょう。
ryohasegawa

2017/06/13 02:57

コメント表示と強制終了を追加します! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問