質問編集履歴

4

修正

2020/04/21 04:14

投稿

jaxxaxa
jaxxaxa

スコア10

test CHANGED
File without changes
test CHANGED
@@ -12,18 +12,6 @@
12
12
 
13
13
 
14
14
 
15
- 配列を使用しているカラムは
16
-
17
- ・contents_text_array
18
-
19
- ・plan_text_array
20
-
21
- ・actual_text_array
22
-
23
- です。
24
-
25
-
26
-
27
15
  実行時にエラーが出ており、内容としては
28
16
 
29
17
  org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [ select user_no ,comment_date ,contents_text_array ,plan_text_array ,actual_text_array ,comment1_text ,comment2_text ,comment3_text from trn_comment_report where contents_text_array[1:7] = ?,?,?,?,?,?,? and plan_text_array[1:7] = ?,?,?,?,?,?,? and actual_text_array[1:7] = ?,?,?,?,?,?,?]; nested exception is org.postgresql.util.PSQLException: ERROR: ","またはその近辺で構文エラー
@@ -34,79 +22,7 @@
34
22
 
35
23
 
36
24
 
37
- 下記にソースコードを記載します。
38
25
 
39
-
40
-
41
- ```java
42
-
43
-
44
-
45
- public List<CommentReportDto> selectCommentList() throws ComponentException {
46
-
47
-
48
-
49
- StringBuilder sql = new StringBuilder();
50
-
51
- sql.append(" select");
52
-
53
- sql.append(" user_no"); // ユーザーNo.
54
-
55
- sql.append(" ,comment_date"); // コメント年月日
56
-
57
- sql.append(" ,contents_text_array"); // 研修内容(配列)
58
-
59
- sql.append(" ,plan_text_array"); // 予定学習項目(配列)
60
-
61
- sql.append(" ,actual_text_array"); // 実績(配列)
62
-
63
- sql.append(" ,comment1_text"); // コメント1
64
-
65
- sql.append(" ,comment2_text"); // コメント2
66
-
67
- sql.append(" ,comment3_text"); // コメント3
68
-
69
- sql.append(" from");
70
-
71
- sql.append(" trn_comment_report");
72
-
73
-
74
-
75
- sql.append(" where");
76
-
77
- sql.append(" contents_text_array = '{1,2,3,4,5,6,7}'");//要素1~7まで
78
-
79
- sql.append(" and");
80
-
81
- sql.append(" plan_text_array = '{1,2,3,4,5,6,7}'");
82
-
83
- sql.append(" and");
84
-
85
- sql.append(" actual_text_array = '{1,2,3,4,5,6,7}'");
86
-
87
-
88
-
89
- try {
90
-
91
- RowMapper<CommentReportDto> rowMapper = new BeanPropertyRowMapper<>(
92
-
93
- CommentReportDto.class);
94
-
95
- return this.jdbcTemplate.query(sql.toString(), rowMapper);
96
-
97
-
98
-
99
- } catch (Exception e) {
100
-
101
- e.printStackTrace();
102
-
103
- throw new ComponentException("コメント一覧取得失敗.", e);
104
-
105
- }
106
-
107
- }
108
-
109
- ```
110
26
 
111
27
 
112
28
 

3

ソースコード修正

2020/04/21 04:14

投稿

jaxxaxa
jaxxaxa

スコア10

test CHANGED
File without changes
test CHANGED
@@ -40,19 +40,7 @@
40
40
 
41
41
  ```java
42
42
 
43
- /**
44
43
 
45
- * コメント一覧取得
46
-
47
- *
48
-
49
- * @return List<CommentReportDtoForCommentReportList>
50
-
51
- * @throws ComponentException
52
-
53
- * jp.ne.jobsupport.Pinoco.common.exception.ComponentException
54
-
55
- */
56
44
 
57
45
  public List<CommentReportDto> selectCommentList() throws ComponentException {
58
46
 

2

ソースコードの修正

2020/04/21 04:12

投稿

jaxxaxa
jaxxaxa

スコア10

test CHANGED
File without changes
test CHANGED
@@ -40,15 +40,29 @@
40
40
 
41
41
  ```java
42
42
 
43
+ /**
44
+
45
+ * コメント一覧取得
46
+
47
+ *
48
+
49
+ * @return List<CommentReportDtoForCommentReportList>
50
+
51
+ * @throws ComponentException
52
+
53
+ * jp.ne.jobsupport.Pinoco.common.exception.ComponentException
54
+
55
+ */
56
+
43
- public List<CommentReportBean> registerCommentReport(CommentReportDto dto) throws ComponentException {
57
+ public List<CommentReportDto> selectCommentList() throws ComponentException {
44
58
 
45
59
 
46
60
 
47
61
  StringBuilder sql = new StringBuilder();
48
62
 
49
- sql.append(" insert into trn_comment_report (");
63
+ sql.append(" select");
50
64
 
51
- sql.append(" ,user_no"); //ユーザーNo
65
+ sql.append(" user_no"); // ユーザーNo.
52
66
 
53
67
  sql.append(" ,comment_date"); // コメント年月日
54
68
 
@@ -64,25 +78,31 @@
64
78
 
65
79
  sql.append(" ,comment3_text"); // コメント3
66
80
 
67
- sql.append(" ,release_start_timestamp");//公開開始日時
81
+ sql.append(" from");
68
82
 
69
- sql.append(" ,registrant_no"); //登録者No.
83
+ sql.append(" trn_comment_report");
70
84
 
71
- sql.append(" ,register_timestamp"); //登録日時
72
85
 
73
- sql.append(" )values(");
74
86
 
75
- sql.append(" ?, ?, '[?,?,?,?,?,?,?,?]', '[?,?,?,?,?,?,?,?]', '[?,?,?,?,?,?,?,?]', ?, ?, ?, ?, ?, ?");
87
+ sql.append(" where");
76
88
 
89
+ sql.append(" contents_text_array = '{1,2,3,4,5,6,7}'");//要素1~7まで
90
+
77
- sql.append(" );");
91
+ sql.append(" and");
92
+
93
+ sql.append(" plan_text_array = '{1,2,3,4,5,6,7}'");
94
+
95
+ sql.append(" and");
96
+
97
+ sql.append(" actual_text_array = '{1,2,3,4,5,6,7}'");
78
98
 
79
99
 
80
100
 
81
101
  try {
82
102
 
83
- RowMapper<CommentReportBean> rowMapper = new BeanPropertyRowMapper<>(
103
+ RowMapper<CommentReportDto> rowMapper = new BeanPropertyRowMapper<>(
84
104
 
85
- CommentReportBean.class);
105
+ CommentReportDto.class);
86
106
 
87
107
  return this.jdbcTemplate.query(sql.toString(), rowMapper);
88
108
 
@@ -92,7 +112,7 @@
92
112
 
93
113
  e.printStackTrace();
94
114
 
95
- throw new ComponentException("コメント登録処理失敗.", e);
115
+ throw new ComponentException("コメント一覧取得失敗.", e);
96
116
 
97
117
  }
98
118
 

1

リンク先記載修正

2020/04/21 04:11

投稿

jaxxaxa
jaxxaxa

スコア10

test CHANGED
File without changes
test CHANGED
@@ -104,8 +104,8 @@
104
104
 
105
105
  ### 参考にしたもの
106
106
 
107
+ [PostgreSQL 配列型](https://odekakeshimasyo.me/postgresql-array.html)
107
108
 
108
-
109
- https://odekakeshimasyo.me/postgresql-array.html
109
+ [9.23. 行と配列の比較](https://www.postgresql.jp/document/9.4/html/functions-comparisons.html)
110
110
 
111
111
  見よう見まねでやってみましたが、いまいちできませんでした。