質問編集履歴

2

更新2

2015/11/11 03:20

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1 +1,409 @@
1
1
  JavaからH2(組込み型)を接続する際に、H2 consoleのログイン画面を表示させないで、接続する方法を教えてください!!
2
+
3
+
4
+
5
+
6
+
7
+ ```
8
+
9
+ import java.io.IOException;
10
+
11
+ import java.util.*;
12
+
13
+
14
+
15
+
16
+
17
+ public class DBmain{
18
+
19
+
20
+
21
+
22
+
23
+ public static void main( String[] args ){
24
+
25
+
26
+
27
+ // H2 console 起動処理
28
+
29
+ try {
30
+
31
+ Runtime rt = Runtime.getRuntime();
32
+
33
+ rt.exec("java -jar C:\\Users\\ユーザファイル\\Desktop\\h2-2015-10-11\\h2\\bin\\h2-1.4.190.jar" );
34
+
35
+ Process p = Runtime.getRuntime().exec("C:\\Program Files\\Internet Explorer\\iexplore.exe");
36
+
37
+
38
+
39
+ try {
40
+
41
+ Thread.sleep(5000);
42
+
43
+ p.destroy();
44
+
45
+
46
+
47
+ } catch (InterruptedException e) {
48
+
49
+ // TODO 自動生成された catch ブロック
50
+
51
+ e.printStackTrace();
52
+
53
+ }
54
+
55
+ } catch (IOException ex) {
56
+
57
+ ex.printStackTrace();
58
+
59
+ }finally{
60
+
61
+
62
+
63
+ }
64
+
65
+
66
+
67
+
68
+
69
+ H2o h2o = new H2o();
70
+
71
+ int num;
72
+
73
+ @SuppressWarnings("resource")
74
+
75
+ Scanner stdin = new Scanner( System.in );
76
+
77
+
78
+
79
+ //SQLの処理選択
80
+
81
+ System.out.print( "SELECT文:1 or INSERT文:2 or UPDATE文:3 or 終了:1,2,3以外" );
82
+
83
+ num = stdin.nextInt();
84
+
85
+
86
+
87
+
88
+
89
+ if( num == 1 ){ //SELECTの場合
90
+
91
+ h2o.select();
92
+
93
+ }
94
+
95
+ else if( num == 2 ){ //INSERTの場合
96
+
97
+
98
+
99
+ System.out.println( "追加 商品ID " );
100
+
101
+ int id = stdin.nextInt();
102
+
103
+
104
+
105
+ System.out.println( "追加 商品名 " );
106
+
107
+ String name = stdin.next();
108
+
109
+
110
+
111
+ System.out.println( "追加 商品価格 " );
112
+
113
+ int price = stdin.nextInt();
114
+
115
+
116
+
117
+ h2o.insert2(id,name,price);
118
+
119
+ }
120
+
121
+ else if( num == 3){
122
+
123
+
124
+
125
+ System.out.println( "変更する値 : " );
126
+
127
+ String henkou = stdin.next();
128
+
129
+
130
+
131
+ System.out.println( "どの値を変更しますか :" );
132
+
133
+ String zyo = stdin.next();
134
+
135
+
136
+
137
+ h2o.Update(henkou, zyo);
138
+
139
+
140
+
141
+ }
142
+
143
+
144
+
145
+ }
146
+
147
+ }
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+ ```
158
+
159
+ import java.sql.*;
160
+
161
+
162
+
163
+ public class H2o{
164
+
165
+ private Connection con = null;
166
+
167
+ private Statement stm;
168
+
169
+ private String sql1 = null;
170
+
171
+
172
+
173
+ public H2o() {
174
+
175
+
176
+
177
+ try {
178
+
179
+ // JDBCドライバのロード
180
+
181
+ Class.forName("org.h2.Driver").newInstance();
182
+
183
+
184
+
185
+ // MySQLに接続
186
+
187
+ con = DriverManager.getConnection("jdbc:h2:tcp://localhost/~/test", "user", "1234");
188
+
189
+ stm = con.createStatement();
190
+
191
+ System.out.println("H2に接続できました。");
192
+
193
+
194
+
195
+
196
+
197
+ } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
198
+
199
+ System.out.println("JDBCドライバのロードに失敗しました。");
200
+
201
+ } catch (SQLException e) {
202
+
203
+ //
204
+
205
+ System.out.println("H2に接続できませんでした。");
206
+
207
+ } finally {
208
+
209
+ if (con != null) {
210
+
211
+ }
212
+
213
+ }
214
+
215
+ }
216
+
217
+
218
+
219
+ public void insert2(int id,String name,int price){
220
+
221
+ try{
222
+
223
+ //ステートメント生成
224
+
225
+ stm = con.createStatement();
226
+
227
+
228
+
229
+ int ID = id;
230
+
231
+ String NAME = name;
232
+
233
+ int PRICE = price;
234
+
235
+
236
+
237
+ // INSERT INTO 文
238
+
239
+ //sql1 = "INSERT INTO PRODUCTS (PRODUCTID,PRODUCTNAME,price)VALUES (204,'西山',245)";
240
+
241
+ sql1 = "INSERT INTO PRODUCTS (PRODUCTID,PRODUCTNAME,price)VALUES(" + String.valueOf(ID) + "," + "'" + NAME +"'"+ "," + String.valueOf(PRICE) + ")";
242
+
243
+ stm.executeUpdate(sql1);
244
+
245
+ System.out.println("Insert完了!!");
246
+
247
+
248
+
249
+ } catch (SQLException e) {
250
+
251
+ System.out.println("H2に接続できませんでした。1");
252
+
253
+ } finally {
254
+
255
+ if (con != null) {
256
+
257
+ //H2 クローズ処理
258
+
259
+ try {
260
+
261
+ con.close();
262
+
263
+ } catch (SQLException e) {
264
+
265
+ System.out.println("H2のクローズに失敗しました。");
266
+
267
+ }
268
+
269
+ }
270
+
271
+ }
272
+
273
+ }
274
+
275
+
276
+
277
+ public void select(){
278
+
279
+
280
+
281
+ try{
282
+
283
+ //ステートメント生成
284
+
285
+ stm = con.createStatement();
286
+
287
+ // SELECT 文
288
+
289
+ sql1 = "select * from products";
290
+
291
+ ResultSet rs = stm.executeQuery(sql1);
292
+
293
+
294
+
295
+ while(rs.next()){
296
+
297
+ int code = rs.getInt(1);
298
+
299
+ String name = rs.getString(2);
300
+
301
+ int price = rs.getInt(3);
302
+
303
+ System.out.println("取得結果 -> " + code + ":" + name + ":" + price );
304
+
305
+ }
306
+
307
+
308
+
309
+ } catch (SQLException e) {
310
+
311
+ System.out.println("H2に接続できませんでした。1");
312
+
313
+ } finally {
314
+
315
+ if (con != null) {
316
+
317
+ try {
318
+
319
+ // H2 クローズ処理
320
+
321
+ con.close();
322
+
323
+ } catch (SQLException e) {
324
+
325
+ System.out.println("H2のクローズに失敗しました。");
326
+
327
+ }
328
+
329
+ }
330
+
331
+ }
332
+
333
+ }
334
+
335
+
336
+
337
+ public void Update(String x,String z){
338
+
339
+ try{
340
+
341
+ //ステートメント生成
342
+
343
+ stm = con.createStatement();
344
+
345
+
346
+
347
+ String henkou = x;
348
+
349
+ String zyo = z;
350
+
351
+
352
+
353
+ // UPDATE 文
354
+
355
+ sql1 = "UPDATE PRODUCTS SET" + String.valueOf(henkou) + "(WHERE" + String.valueOf(zyo) + ")";
356
+
357
+ stm.executeUpdate(sql1);
358
+
359
+ System.out.println("UPDATE完了!!");
360
+
361
+
362
+
363
+ } catch (SQLException e) {
364
+
365
+ System.out.println("H2に接続できませんでした。1");
366
+
367
+ } finally {
368
+
369
+ if (con != null) {
370
+
371
+ //H2 クローズ処理
372
+
373
+ try {
374
+
375
+ con.close();
376
+
377
+ } catch (SQLException e) {
378
+
379
+ System.out.println("H2のクローズに失敗しました。");
380
+
381
+ }
382
+
383
+ }
384
+
385
+ }
386
+
387
+ }
388
+
389
+
390
+
391
+
392
+
393
+ }
394
+
395
+
396
+
397
+
398
+
399
+
400
+
401
+ rt.exec("java -jar C:\\Users\\ユーザファイル\\Desktop\\h2-2015-10-11\\h2\\bin\\h2-1.4.190.jar" );
402
+
403
+
404
+
405
+ がないと、H2 consoleに接続できません。
406
+
407
+
408
+
409
+ 実装環境は Eclipse です。

1

更新

2015/11/11 03:20

投稿

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