質問編集履歴

3

version added

2020/02/26 14:16

投稿

tiqua_nibio
tiqua_nibio

スコア62

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,12 @@
1
1
  まず以下のSQLでテーブルを作成します。
2
+
3
+
4
+
5
+ MySQL 5.7.25-log
6
+
7
+ JDBC jdbc_4.3.15
8
+
9
+ Java 1.8
2
10
 
3
11
 
4
12
 

2

誤字脱字

2020/02/26 14:16

投稿

tiqua_nibio
tiqua_nibio

スコア62

test CHANGED
File without changes
test CHANGED
@@ -104,7 +104,7 @@
104
104
 
105
105
 
106
106
 
107
- 実はこれはJavaと連携しており、JavaからみたMySQLのメタデータは、Stringではなく、intとして解釈しているようです。
107
+ 実はこれはJavaと連携しており、JavaからみたMySQLのメタデータは、intではなく、Stringとして解釈しているようです。
108
108
 
109
109
  以下のソースコードはJavaをご存じない方にとっては難しいかもしれませんが、要はMySQLの方でintとして認識してもらえるように作れたら、Javaの知識は特に必要ないと思っております。
110
110
 

1

Javaコードの追加

2020/02/24 14:30

投稿

tiqua_nibio
tiqua_nibio

スコア62

test CHANGED
File without changes
test CHANGED
@@ -91,3 +91,77 @@
91
91
  これをintで返してもらいたいと思います。どこか方法を変えればよろしいでしょうか?
92
92
 
93
93
  よろしくおねがいします。
94
+
95
+
96
+
97
+ ---------------------------------------------------------------
98
+
99
+
100
+
101
+ (追加)
102
+
103
+ SQLのプロフェッショナルより回答が付きましたので、詳しい事情をお伝えしたいと思います。
104
+
105
+
106
+
107
+ 実はこれはJavaと連携しており、JavaからみたMySQLのメタデータは、Stringではなく、intとして解釈しているようです。
108
+
109
+ 以下のソースコードはJavaをご存じない方にとっては難しいかもしれませんが、要はMySQLの方でintとして認識してもらえるように作れたら、Javaの知識は特に必要ないと思っております。
110
+
111
+
112
+
113
+ ```Java
114
+
115
+ String query = "SELECT * from `new_table` limit 0, 1;";
116
+
117
+ Map<String, String> mp = new LinkedHashMap<String, String>();
118
+
119
+
120
+
121
+ try {
122
+
123
+
124
+
125
+ Class.forName("com.mysql.jdbc.Driver");
126
+
127
+
128
+
129
+ Connection conn = DriverManager.getConnection(Constant.JDBC_URL, Constant.PASS, Constant.ANGO);
130
+
131
+ java.sql.Statement st = conn.createStatement();
132
+
133
+ ResultSet resultSet = st.executeQuery(query);
134
+
135
+
136
+
137
+ ResultSetMetaData metadata = resultSet.getMetaData();
138
+
139
+ int column_count = metadata.getColumnCount();
140
+
141
+
142
+
143
+ for (int i = 0; i < column_count; i++) {
144
+
145
+
146
+
147
+ mp.put(metadata.getColumnName(i + 1), metadata.getColumnTypeName(i + 1));
148
+
149
+
150
+
151
+ }
152
+
153
+
154
+
155
+ } catch (Exception e) {
156
+
157
+
158
+
159
+ System.out.println("error");
160
+
161
+ }
162
+
163
+
164
+
165
+
166
+
167
+ ```