質問編集履歴
3
version added
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
まず以下のSQLでテーブルを作成します。
|
2
2
|
|
3
|
+
MySQL 5.7.25-log
|
4
|
+
JDBC jdbc_4.3.15
|
5
|
+
Java 1.8
|
6
|
+
|
3
7
|
```MySQL
|
4
8
|
CREATE TABLE `new_table` (
|
5
9
|
`id` INT NOT NULL AUTO_INCREMENT,
|
2
誤字脱字
title
CHANGED
File without changes
|
body
CHANGED
@@ -51,7 +51,7 @@
|
|
51
51
|
(追加)
|
52
52
|
SQLのプロフェッショナルより回答が付きましたので、詳しい事情をお伝えしたいと思います。
|
53
53
|
|
54
|
-
実はこれはJavaと連携しており、JavaからみたMySQLのメタデータは、
|
54
|
+
実はこれはJavaと連携しており、JavaからみたMySQLのメタデータは、intではなく、Stringとして解釈しているようです。
|
55
55
|
以下のソースコードはJavaをご存じない方にとっては難しいかもしれませんが、要はMySQLの方でintとして認識してもらえるように作れたら、Javaの知識は特に必要ないと思っております。
|
56
56
|
|
57
57
|
```Java
|
1
Javaコードの追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -44,4 +44,41 @@
|
|
44
44
|
|
45
45
|
これによって返ってくる`aa`は、intではなく、varchar型のようです。
|
46
46
|
これをintで返してもらいたいと思います。どこか方法を変えればよろしいでしょうか?
|
47
|
-
よろしくおねがいします。
|
47
|
+
よろしくおねがいします。
|
48
|
+
|
49
|
+
---------------------------------------------------------------
|
50
|
+
|
51
|
+
(追加)
|
52
|
+
SQLのプロフェッショナルより回答が付きましたので、詳しい事情をお伝えしたいと思います。
|
53
|
+
|
54
|
+
実はこれはJavaと連携しており、JavaからみたMySQLのメタデータは、Stringではなく、intとして解釈しているようです。
|
55
|
+
以下のソースコードはJavaをご存じない方にとっては難しいかもしれませんが、要はMySQLの方でintとして認識してもらえるように作れたら、Javaの知識は特に必要ないと思っております。
|
56
|
+
|
57
|
+
```Java
|
58
|
+
String query = "SELECT * from `new_table` limit 0, 1;";
|
59
|
+
Map<String, String> mp = new LinkedHashMap<String, String>();
|
60
|
+
|
61
|
+
try {
|
62
|
+
|
63
|
+
Class.forName("com.mysql.jdbc.Driver");
|
64
|
+
|
65
|
+
Connection conn = DriverManager.getConnection(Constant.JDBC_URL, Constant.PASS, Constant.ANGO);
|
66
|
+
java.sql.Statement st = conn.createStatement();
|
67
|
+
ResultSet resultSet = st.executeQuery(query);
|
68
|
+
|
69
|
+
ResultSetMetaData metadata = resultSet.getMetaData();
|
70
|
+
int column_count = metadata.getColumnCount();
|
71
|
+
|
72
|
+
for (int i = 0; i < column_count; i++) {
|
73
|
+
|
74
|
+
mp.put(metadata.getColumnName(i + 1), metadata.getColumnTypeName(i + 1));
|
75
|
+
|
76
|
+
}
|
77
|
+
|
78
|
+
} catch (Exception e) {
|
79
|
+
|
80
|
+
System.out.println("error");
|
81
|
+
}
|
82
|
+
|
83
|
+
|
84
|
+
```
|