質問するログイン新規登録

質問編集履歴

3

version added

2020/02/26 14:16

投稿

tiqua_nibio
tiqua_nibio

スコア62

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

誤字脱字

2020/02/26 14:16

投稿

tiqua_nibio
tiqua_nibio

スコア62

title CHANGED
File without changes
body CHANGED
@@ -51,7 +51,7 @@
51
51
  (追加)
52
52
  SQLのプロフェッショナルより回答が付きましたので、詳しい事情をお伝えしたいと思います。
53
53
 
54
- 実はこれはJavaと連携しており、JavaからみたMySQLのメタデータは、Stringではなく、intとして解釈しているようです。
54
+ 実はこれはJavaと連携しており、JavaからみたMySQLのメタデータは、intではなく、Stringとして解釈しているようです。
55
55
  以下のソースコードはJavaをご存じない方にとっては難しいかもしれませんが、要はMySQLの方でintとして認識してもらえるように作れたら、Javaの知識は特に必要ないと思っております。
56
56
 
57
57
  ```Java

1

Javaコードの追加

2020/02/24 14:30

投稿

tiqua_nibio
tiqua_nibio

スコア62

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
+ ```