質問編集履歴

3

実行環境

2018/07/20 04:37

投稿

Utoshi
Utoshi

スコア14

test CHANGED
File without changes
test CHANGED
@@ -269,3 +269,15 @@
269
269
  コード
270
270
 
271
271
  ```
272
+
273
+
274
+
275
+ 実行環境
276
+
277
+ ubuntu 16.0.1
278
+
279
+ mysql 14.14 distrib 5.6.22 for linux
280
+
281
+ eclipse Oxygen.3a Release (4.7.3a)
282
+
283
+ JDBCドライバ格納場所 /usr/share/java/mysql-connector-java-5.1.38.jar

2

JDBCドライバの追加方法記述

2018/07/20 04:37

投稿

Utoshi
Utoshi

スコア14

test CHANGED
File without changes
test CHANGED
@@ -66,6 +66,8 @@
66
66
 
67
67
  →window/prefences/java/installed JREs/edit/add External JARS/finish
68
68
 
69
+ (ウィンドウ > 設定 > Java > インストール済みのJRE>「外部JARの追加」>JDBCの入ったJarファイルを指定して追加する)
70
+
69
71
  を行いました。
70
72
 
71
73
 

1

タグの追加、javaソースコードの追加

2018/07/20 03:56

投稿

Utoshi
Utoshi

スコア14

test CHANGED
File without changes
test CHANGED
@@ -67,3 +67,203 @@
67
67
  →window/prefences/java/installed JREs/edit/add External JARS/finish
68
68
 
69
69
  を行いました。
70
+
71
+
72
+
73
+
74
+
75
+ ```package sample01;
76
+
77
+
78
+
79
+ import java.sql.Connection;
80
+
81
+ import java.sql.DriverManager;
82
+
83
+ import java.sql.PreparedStatement;
84
+
85
+ import java.sql.ResultSet;
86
+
87
+ import java.sql.SQLException;
88
+
89
+
90
+
91
+ public class SampleDatabaseAccess {
92
+
93
+ private static String COMMA = ","; // 頻繁に利用する値は定数化するのが望ましい
94
+
95
+
96
+
97
+ public static void main(String[] args) {
98
+
99
+
100
+
101
+ /*
102
+
103
+ * データベースにSQL(命令文)を発行するサンプルソースです。
104
+
105
+ * わかりやすいようにmainメソッド内に処理をまとめています。
106
+
107
+ */
108
+
109
+
110
+
111
+ // 準備:データベースに接続するための情報を用意する
112
+
113
+ String driverName = "com.mysql.cj.jdbc.Driver";
114
+
115
+ String jdbcUrl = "jdbc:mysql://localhost/test?characterEncoding=UTF-8&serverTimezone=JST&useSSL=false";
116
+
117
+ String userId = "meisuto";
118
+
119
+ String userPass = "aty29632";
120
+
121
+
122
+
123
+ //① JDBCドライバのロード
124
+
125
+ try {
126
+
127
+ Class.forName(driverName);
128
+
129
+ } catch (ClassNotFoundException e) { //Class.forNameメソッド実行時に出るエラーをキャッチする
130
+
131
+ e.printStackTrace();
132
+
133
+ }
134
+
135
+
136
+
137
+ Connection con = null; // データベースとの接続情報を保持するオブジェクト
138
+
139
+ PreparedStatement ps = null; // 発行するSQLを保持するオブジェクト
140
+
141
+ ResultSet rs = null; // SELECT文を発行して取得したデータを受け取るオブジェクト
142
+
143
+
144
+
145
+ try {
146
+
147
+ // ②接続の確立(Connectionオブジェクトの取得)
148
+
149
+ con = DriverManager.getConnection(jdbcUrl, userId, userPass);
150
+
151
+
152
+
153
+ // ③SQL文の生成
154
+
155
+ StringBuffer buf = new StringBuffer();// Stringを一時的に格納しておく箱
156
+
157
+ buf.append("SELECT ");
158
+
159
+ buf.append(" id, ");
160
+
161
+ buf.append(" name, ");
162
+
163
+ buf.append(" gender, ");
164
+
165
+ buf.append(" age, ");
166
+
167
+ buf.append(" course ");
168
+
169
+ buf.append("FROM ");
170
+
171
+ buf.append(" uzuz_member ");
172
+
173
+ buf.append("ORDER BY ");
174
+
175
+ buf.append(" id ");
176
+
177
+
178
+
179
+ ps = con.prepareStatement(buf.toString());// PreparedStatementにSQLを格納
180
+
181
+
182
+
183
+ // ④結果の取得
184
+
185
+ rs = ps.executeQuery();
186
+
187
+
188
+
189
+ while (rs.next()) {
190
+
191
+
192
+
193
+ StringBuffer rsbuf = new StringBuffer();
194
+
195
+ rsbuf.append(rs.getString("id"));
196
+
197
+ rsbuf.append(COMMA);
198
+
199
+ rsbuf.append(rs.getString("name"));
200
+
201
+ rsbuf.append(COMMA);
202
+
203
+ rsbuf.append(rs.getString("gender"));
204
+
205
+ rsbuf.append(COMMA);
206
+
207
+ rsbuf.append(rs.getString("age"));
208
+
209
+ rsbuf.append(COMMA);
210
+
211
+ rsbuf.append(rs.getString("course"));
212
+
213
+
214
+
215
+ System.out.println(rsbuf.toString());
216
+
217
+ }
218
+
219
+
220
+
221
+ } catch (SQLException e) {// データベースに接続する際に出るエラーをキャッチする
222
+
223
+ e.printStackTrace();
224
+
225
+ } finally {
226
+
227
+ try {
228
+
229
+ // psとrsで使っているメモリ領域を開放する
230
+
231
+ if (!rs.isClosed()) {
232
+
233
+ rs.close();
234
+
235
+ }
236
+
237
+
238
+
239
+ if (!ps.isClosed()) {
240
+
241
+ ps.close();
242
+
243
+ }
244
+
245
+
246
+
247
+ // ⑤接続の解除
248
+
249
+ if (!con.isClosed()) {
250
+
251
+ con.close();
252
+
253
+ }
254
+
255
+ } catch (SQLException e) {
256
+
257
+ e.printStackTrace();
258
+
259
+ }
260
+
261
+ }
262
+
263
+ }
264
+
265
+ }
266
+
267
+ コード
268
+
269
+ ```