質問編集履歴

5

質問が長すぎたので短くしました。

2019/06/18 04:30

投稿

kaiko
kaiko

スコア12

test CHANGED
@@ -1 +1 @@
1
- JavaとMySQLを接続したいがClassNotFoundExceptionが表示される
1
+ JavaとMySQLを接続したいがNullPointerException が表示される
test CHANGED
@@ -1,10 +1,12 @@
1
- ClassNotFoundException:com.mysql.cj.jdbd.driver
1
+ Exception in thread "AWT-EventQuere-0" java.lang.NullPointerException のエラーが表示される。
2
2
 
3
- このエラーが出ます。
3
+
4
4
 
5
5
  原因は、プログラムというよりも、PCの設定だと思います。
6
6
 
7
7
  理由としては、以前のバージョンで接続できていたプログラムだからです。
8
+
9
+ また、ほかのPCでは動いているので、プログラムではなくPCの設定なんです・・・
8
10
 
9
11
 
10
12
 
@@ -51,169 +53,3 @@
51
53
 
52
54
 
53
55
  質問が初心者ですみません。よろしくお願いいたします。
54
-
55
-
56
-
57
-
58
-
59
- 以前成功してたことを書くと、
60
-
61
- cmdプロンプトで
62
-
63
- mysql -u root -p (Enter)
64
-
65
- (パスワード)(Enter)
66
-
67
- →MySQLに接続できる。
68
-
69
-
70
-
71
- その後、別のcmdプンプトを開いて
72
-
73
- set CLASSPATH=.;%CLASSPATH%(Enter)
74
-
75
- javac xx.java(Enter)
76
-
77
- java xx(Enter)
78
-
79
-
80
-
81
- →これで接続できていました。
82
-
83
- set CLASSPATH= のくだりは省略したいなと思っていますが
84
-
85
- ほかは同じようにコンパイル、実行できたらいいなと思っています。
86
-
87
-
88
-
89
- でも、それを書かず、java xx(Enter) で済ます方法は何でしょうか?
90
-
91
- →追記
92
-
93
- →CLASSPATHには、.;C:\Program Files (x86)\Java\jre1.8.0_211\lib\mysql-connector-java-5.1.38-bin.jar;と設定しましたが、まだできませんでした。
94
-
95
-
96
-
97
- すみません、少し解決しました。
98
-
99
- java -cp "C:\Program Files (x86)\MySQL\Connector J 8.0\mysql-connector-java-8.0.16.jar;" xx(Enter)
100
-
101
- と書いたら、ClassNotFoundExceptionが表示されませんでした!
102
-
103
- ・・・今度はNullPointExceptionが表示されます・・・
104
-
105
-
106
-
107
- 接続部分についての設定の、確認場所を教えてください。
108
-
109
-
110
-
111
- ~~~~~~~~~~
112
-
113
- ちなみに、プログラムです。
114
-
115
- ほかのjavaファイルから読み込んで使用しようとしているので、mainはありません。
116
-
117
- (WORK.iniの内容)
118
-
119
- Ini_URL = jdbc:mysql://localhost:3306/ojtdatabase
120
-
121
- Ini_USER = root
122
-
123
- Ini_PASSWORD = xxxxxxx
124
-
125
- Ini_DRIVER_CLASS = com.mysql.cj.jdbc.Driver
126
-
127
- javaのコード
128
-
129
- import java.sql.Connection;
130
-
131
- import java.sql.DriverManager;
132
-
133
- import java.sql.ResultSet;
134
-
135
- import java.sql.SQLException;
136
-
137
- import java.sql.Statement;
138
-
139
- import java.util.Properties;
140
-
141
- import java.io.FileInputStream;
142
-
143
- public class JDBCMySQLConnection {
144
-
145
- private static JDBCMySQLConnection instance = new JDBCMySQLConnection();
146
-
147
- String URL, USER, PASSWORD, DRIVER_CLASS;
148
-
149
- Connection dbCon = null; Statement stmt = null; ResultSet rs = null;
150
-
151
- private JDBCMySQLConnection() {
152
-
153
- try { ReadFile();
154
-
155
-  // DRIVER を探す
156
-
157
-  Class.forName(DRIVER_CLASS);
158
-
159
-  } catch (ClassNotFoundException e) {
160
-
161
-  e.printStackTrace();
162
-
163
-  }
164
-
165
- }
166
-
167
- private void ReadFile() {
168
-
169
-  try { Properties pro = new Properties();
170
-
171
-  pro.load(new FileInputStream("WORK.ini"));
172
-
173
-  URL = pro.getProperty("Ini_URL");
174
-
175
-  USER = pro.getProperty("Ini_USER");
176
-
177
-  PASSWORD = pro.getProperty("Ini_PASSWORD");
178
-
179
-  DRIVER_CLASS = pro.getProperty("Ini_DRIVER_CLASS");
180
-
181
-  } catch (Exception ex) {
182
-
183
-  System.out.println(ex.getMessage());
184
-
185
-  }
186
-
187
- }
188
-
189
- private Connection createConnection() {
190
-
191
-  Connection connection = null;
192
-
193
-  try {
194
-
195
-   connection = DriverManager.getConnection(URL, USER, PASSWORD);
196
-
197
-   System.out.println("接続成功");
198
-
199
-  } catch (SQLException e) {
200
-
201
-   connection = DriverManager.getConnection(URL, USER, PASSWORD);
202
-
203
-   System.out.println("接続失敗");
204
-
205
-  } return connection;
206
-
207
- }
208
-
209
- public static Connection getConnection() {
210
-
211
-  return instance.createConnection();
212
-
213
- }
214
-
215
- }
216
-
217
-
218
-
219
- そして、ClassNotForExceptionが表示されないかわりに、 接続失敗 Excepthin in thread "AWT-EventQuere-0" java.lang.NullPointException のエラーになってしまいました。

4

プログラムの追記

2019/06/18 04:30

投稿

kaiko
kaiko

スコア12

test CHANGED
@@ -1 +1 @@
1
- JavaとMySQLを接続したいがClassNotForExceptionが表示される
1
+ JavaとMySQLを接続したいがClassNotFoundExceptionが表示される
test CHANGED
@@ -1,4 +1,4 @@
1
- ClassNotForException:com.mysql.cj.jdbd.driver
1
+ ClassNotFoundException:com.mysql.cj.jdbd.driver
2
2
 
3
3
  このエラーが出ます。
4
4
 
@@ -18,9 +18,15 @@
18
18
 
19
19
 
20
20
 
21
+ 1.システムの環境設定
22
+
21
- 1.システムの環境設定→PATHには、D:\java\binと、D:\work\test(実行用のフォルダ)は
23
+ →PATHには、D:\java\binと、D:\work\test(実行用のフォルダ)は設定しました。
24
+
22
-
25
+ →CLASSPATHには、.;C:\Program Files (x86)\Java\jre1.8.0_211\lib\mysql-connector-java-5.1.38-bin.jar;と設定しました。
26
+
23
- 設定しました
27
+ (javaファイルの中にこのfarファイルはコピーしました
28
+
29
+
24
30
 
25
31
  2.D:\work\testの中に、mysql-connector-java-8.0.16.jarとmysql-connector-java-5.1.38-bin.jarが
26
32
 
@@ -80,12 +86,134 @@
80
86
 
81
87
 
82
88
 
89
+ でも、それを書かず、java xx(Enter) で済ます方法は何でしょうか?
90
+
91
+ →追記
92
+
93
+ →CLASSPATHには、.;C:\Program Files (x86)\Java\jre1.8.0_211\lib\mysql-connector-java-5.1.38-bin.jar;と設定しましたが、まだできませんでした。
94
+
95
+
96
+
83
97
  すみません、少し解決しました。
84
98
 
85
99
  java -cp "C:\Program Files (x86)\MySQL\Connector J 8.0\mysql-connector-java-8.0.16.jar;" xx(Enter)
86
100
 
87
- と書いたら、ClassNotForExceptionが表示されませんでした!
101
+ と書いたら、ClassNotFoundExceptionが表示されませんでした!
102
+
88
-
103
+ ・・・今度はNullPointExceptionが表示されます・・・
104
+
105
+
106
+
89
-
107
+ 接続部分についての設定の、確認場所を教えてください。
108
+
109
+
110
+
90
-
111
+ ~~~~~~~~~~
112
+
113
+ ちなみに、プログラムです。
114
+
115
+ ほかのjavaファイルから読み込んで使用しようとしているので、mainはありません。
116
+
117
+ (WORK.iniの内容)
118
+
119
+ Ini_URL = jdbc:mysql://localhost:3306/ojtdatabase
120
+
121
+ Ini_USER = root
122
+
123
+ Ini_PASSWORD = xxxxxxx
124
+
125
+ Ini_DRIVER_CLASS = com.mysql.cj.jdbc.Driver
126
+
127
+ javaのコード
128
+
129
+ import java.sql.Connection;
130
+
131
+ import java.sql.DriverManager;
132
+
133
+ import java.sql.ResultSet;
134
+
135
+ import java.sql.SQLException;
136
+
137
+ import java.sql.Statement;
138
+
139
+ import java.util.Properties;
140
+
91
- でも、それを書かず、java xx(Enter) で済ます方法は何でしょうか?
141
+ import java.io.FileInputStream;
142
+
143
+ public class JDBCMySQLConnection {
144
+
145
+ private static JDBCMySQLConnection instance = new JDBCMySQLConnection();
146
+
147
+ String URL, USER, PASSWORD, DRIVER_CLASS;
148
+
149
+ Connection dbCon = null; Statement stmt = null; ResultSet rs = null;
150
+
151
+ private JDBCMySQLConnection() {
152
+
153
+ try { ReadFile();
154
+
155
+  // DRIVER を探す
156
+
157
+  Class.forName(DRIVER_CLASS);
158
+
159
+  } catch (ClassNotFoundException e) {
160
+
161
+  e.printStackTrace();
162
+
163
+  }
164
+
165
+ }
166
+
167
+ private void ReadFile() {
168
+
169
+  try { Properties pro = new Properties();
170
+
171
+  pro.load(new FileInputStream("WORK.ini"));
172
+
173
+  URL = pro.getProperty("Ini_URL");
174
+
175
+  USER = pro.getProperty("Ini_USER");
176
+
177
+  PASSWORD = pro.getProperty("Ini_PASSWORD");
178
+
179
+  DRIVER_CLASS = pro.getProperty("Ini_DRIVER_CLASS");
180
+
181
+  } catch (Exception ex) {
182
+
183
+  System.out.println(ex.getMessage());
184
+
185
+  }
186
+
187
+ }
188
+
189
+ private Connection createConnection() {
190
+
191
+  Connection connection = null;
192
+
193
+  try {
194
+
195
+   connection = DriverManager.getConnection(URL, USER, PASSWORD);
196
+
197
+   System.out.println("接続成功");
198
+
199
+  } catch (SQLException e) {
200
+
201
+   connection = DriverManager.getConnection(URL, USER, PASSWORD);
202
+
203
+   System.out.println("接続失敗");
204
+
205
+  } return connection;
206
+
207
+ }
208
+
209
+ public static Connection getConnection() {
210
+
211
+  return instance.createConnection();
212
+
213
+ }
214
+
215
+ }
216
+
217
+
218
+
219
+ そして、ClassNotForExceptionが表示されないかわりに、 接続失敗 Excepthin in thread "AWT-EventQuere-0" java.lang.NullPointException のエラーになってしまいました。

3

誤字

2019/06/18 02:02

投稿

kaiko
kaiko

スコア12

test CHANGED
File without changes
test CHANGED
@@ -88,4 +88,4 @@
88
88
 
89
89
 
90
90
 
91
- でも、それを書かず、java xx(Enter) で済ます方法は何でしょうか?
91
+ でも、それを書かず、java xx(Enter) で済ます方法は何でしょうか?

2

少し解決しましたが、省略するにはどうしたらいいでしょうか。

2019/06/17 06:53

投稿

kaiko
kaiko

スコア12

test CHANGED
File without changes
test CHANGED
@@ -77,3 +77,15 @@
77
77
  set CLASSPATH= のくだりは省略したいなと思っていますが
78
78
 
79
79
  ほかは同じようにコンパイル、実行できたらいいなと思っています。
80
+
81
+
82
+
83
+ すみません、少し解決しました。
84
+
85
+ java -cp "C:\Program Files (x86)\MySQL\Connector J 8.0\mysql-connector-java-8.0.16.jar;" xx(Enter)
86
+
87
+ と書いたら、ClassNotForExceptionが表示されませんでした!
88
+
89
+
90
+
91
+ でも、それを書かず、java はxx(Enter) で済ます方法は何でしょうか?

1

以前成功していたことを追記しました。

2019/06/17 06:53

投稿

kaiko
kaiko

スコア12

test CHANGED
File without changes
test CHANGED
@@ -45,3 +45,35 @@
45
45
 
46
46
 
47
47
  質問が初心者ですみません。よろしくお願いいたします。
48
+
49
+
50
+
51
+
52
+
53
+ 以前成功してたことを書くと、
54
+
55
+ cmdプロンプトで
56
+
57
+ mysql -u root -p (Enter)
58
+
59
+ (パスワード)(Enter)
60
+
61
+ →MySQLに接続できる。
62
+
63
+
64
+
65
+ その後、別のcmdプンプトを開いて
66
+
67
+ set CLASSPATH=.;%CLASSPATH%(Enter)
68
+
69
+ javac xx.java(Enter)
70
+
71
+ java xx(Enter)
72
+
73
+
74
+
75
+ →これで接続できていました。
76
+
77
+ set CLASSPATH= のくだりは省略したいなと思っていますが
78
+
79
+ ほかは同じようにコンパイル、実行できたらいいなと思っています。