teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

更新2

2015/11/11 03:20

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,1 +1,205 @@
1
- JavaからH2(組込み型)を接続する際に、H2 consoleのログイン画面を表示させないで、接続する方法を教えてください!!
1
+ JavaからH2(組込み型)を接続する際に、H2 consoleのログイン画面を表示させないで、接続する方法を教えてください!!
2
+
3
+
4
+ ```
5
+ import java.io.IOException;
6
+ import java.util.*;
7
+
8
+
9
+ public class DBmain{
10
+
11
+
12
+ public static void main( String[] args ){
13
+
14
+ // H2 console 起動処理
15
+ try {
16
+ Runtime rt = Runtime.getRuntime();
17
+ rt.exec("java -jar C:\\Users\\ユーザファイル\\Desktop\\h2-2015-10-11\\h2\\bin\\h2-1.4.190.jar" );
18
+ Process p = Runtime.getRuntime().exec("C:\\Program Files\\Internet Explorer\\iexplore.exe");
19
+
20
+ try {
21
+ Thread.sleep(5000);
22
+ p.destroy();
23
+
24
+ } catch (InterruptedException e) {
25
+ // TODO 自動生成された catch ブロック
26
+ e.printStackTrace();
27
+ }
28
+ } catch (IOException ex) {
29
+ ex.printStackTrace();
30
+ }finally{
31
+
32
+ }
33
+
34
+
35
+ H2o h2o = new H2o();
36
+ int num;
37
+ @SuppressWarnings("resource")
38
+ Scanner stdin = new Scanner( System.in );
39
+
40
+ //SQLの処理選択
41
+ System.out.print( "SELECT文:1 or INSERT文:2 or UPDATE文:3 or 終了:1,2,3以外" );
42
+ num = stdin.nextInt();
43
+
44
+
45
+ if( num == 1 ){ //SELECTの場合
46
+ h2o.select();
47
+ }
48
+ else if( num == 2 ){ //INSERTの場合
49
+
50
+ System.out.println( "追加 商品ID " );
51
+ int id = stdin.nextInt();
52
+
53
+ System.out.println( "追加 商品名 " );
54
+ String name = stdin.next();
55
+
56
+ System.out.println( "追加 商品価格 " );
57
+ int price = stdin.nextInt();
58
+
59
+ h2o.insert2(id,name,price);
60
+ }
61
+ else if( num == 3){
62
+
63
+ System.out.println( "変更する値 : " );
64
+ String henkou = stdin.next();
65
+
66
+ System.out.println( "どの値を変更しますか :" );
67
+ String zyo = stdin.next();
68
+
69
+ h2o.Update(henkou, zyo);
70
+
71
+ }
72
+
73
+ }
74
+ }
75
+
76
+
77
+
78
+
79
+ ```
80
+ import java.sql.*;
81
+
82
+ public class H2o{
83
+ private Connection con = null;
84
+ private Statement stm;
85
+ private String sql1 = null;
86
+
87
+ public H2o() {
88
+
89
+ try {
90
+ // JDBCドライバのロード
91
+ Class.forName("org.h2.Driver").newInstance();
92
+
93
+ // MySQLに接続
94
+ con = DriverManager.getConnection("jdbc:h2:tcp://localhost/~/test", "user", "1234");
95
+ stm = con.createStatement();
96
+ System.out.println("H2に接続できました。");
97
+
98
+
99
+ } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
100
+ System.out.println("JDBCドライバのロードに失敗しました。");
101
+ } catch (SQLException e) {
102
+ //
103
+ System.out.println("H2に接続できませんでした。");
104
+ } finally {
105
+ if (con != null) {
106
+ }
107
+ }
108
+ }
109
+
110
+ public void insert2(int id,String name,int price){
111
+ try{
112
+ //ステートメント生成
113
+ stm = con.createStatement();
114
+
115
+ int ID = id;
116
+ String NAME = name;
117
+ int PRICE = price;
118
+
119
+ // INSERT INTO 文
120
+ //sql1 = "INSERT INTO PRODUCTS (PRODUCTID,PRODUCTNAME,price)VALUES (204,'西山',245)";
121
+ sql1 = "INSERT INTO PRODUCTS (PRODUCTID,PRODUCTNAME,price)VALUES(" + String.valueOf(ID) + "," + "'" + NAME +"'"+ "," + String.valueOf(PRICE) + ")";
122
+ stm.executeUpdate(sql1);
123
+ System.out.println("Insert完了!!");
124
+
125
+ } catch (SQLException e) {
126
+ System.out.println("H2に接続できませんでした。1");
127
+ } finally {
128
+ if (con != null) {
129
+ //H2 クローズ処理
130
+ try {
131
+ con.close();
132
+ } catch (SQLException e) {
133
+ System.out.println("H2のクローズに失敗しました。");
134
+ }
135
+ }
136
+ }
137
+ }
138
+
139
+ public void select(){
140
+
141
+ try{
142
+ //ステートメント生成
143
+ stm = con.createStatement();
144
+ // SELECT 文
145
+ sql1 = "select * from products";
146
+ ResultSet rs = stm.executeQuery(sql1);
147
+
148
+ while(rs.next()){
149
+ int code = rs.getInt(1);
150
+ String name = rs.getString(2);
151
+ int price = rs.getInt(3);
152
+ System.out.println("取得結果 -> " + code + ":" + name + ":" + price );
153
+ }
154
+
155
+ } catch (SQLException e) {
156
+ System.out.println("H2に接続できませんでした。1");
157
+ } finally {
158
+ if (con != null) {
159
+ try {
160
+ // H2 クローズ処理
161
+ con.close();
162
+ } catch (SQLException e) {
163
+ System.out.println("H2のクローズに失敗しました。");
164
+ }
165
+ }
166
+ }
167
+ }
168
+
169
+ public void Update(String x,String z){
170
+ try{
171
+ //ステートメント生成
172
+ stm = con.createStatement();
173
+
174
+ String henkou = x;
175
+ String zyo = z;
176
+
177
+ // UPDATE 文
178
+ sql1 = "UPDATE PRODUCTS SET" + String.valueOf(henkou) + "(WHERE" + String.valueOf(zyo) + ")";
179
+ stm.executeUpdate(sql1);
180
+ System.out.println("UPDATE完了!!");
181
+
182
+ } catch (SQLException e) {
183
+ System.out.println("H2に接続できませんでした。1");
184
+ } finally {
185
+ if (con != null) {
186
+ //H2 クローズ処理
187
+ try {
188
+ con.close();
189
+ } catch (SQLException e) {
190
+ System.out.println("H2のクローズに失敗しました。");
191
+ }
192
+ }
193
+ }
194
+ }
195
+
196
+
197
+ }
198
+
199
+
200
+
201
+ rt.exec("java -jar C:\\Users\\ユーザファイル\\Desktop\\h2-2015-10-11\\h2\\bin\\h2-1.4.190.jar" );
202
+
203
+ がないと、H2 consoleに接続できません。
204
+
205
+ 実装環境は Eclipse です。

1

更新

2015/11/11 03:20

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,1 +1,1 @@
1
- JavaからH2(組込み型)を接続する際に、H2 consoleのログイン画面を表示させないで、
1
+ JavaからH2(組込み型)を接続する際に、H2 consoleのログイン画面を表示させないで、接続する方法を教えてください!!