回答編集履歴

1

追加の回答要望があったため

2017/02/04 09:54

投稿

7tsuno
7tsuno

スコア310

test CHANGED
@@ -21,3 +21,49 @@
21
21
  Class<?> entityClass = (Class<?>)actualTypeArguments[0];
22
22
 
23
23
  ```
24
+
25
+
26
+
27
+ 追記
28
+
29
+
30
+
31
+ ```java
32
+
33
+ abstract public class BaseDao {
34
+
35
+
36
+
37
+ protected static <E extends BaseEntity> void findAll(String sql) throws Exception {
38
+
39
+ Connection con = getConnect();
40
+
41
+
42
+
43
+ RowProcessor rp = new BasicRowProcessor(new MyBeanProcessor());
44
+
45
+ QueryRunner qr = new QueryRunner();
46
+
47
+
48
+
49
+ ResultSetHandler<List<E>> h = new BeanListHandler<E>(getEntityClass(), rp);// E.classがコンパイルエラー
50
+
51
+ List<E> list = qr.query(con, sql, h);
52
+
53
+ con.close();
54
+
55
+ }
56
+
57
+
58
+
59
+ protected abstruct <E extends BaseEntity> Class<E> getEntityClass();
60
+
61
+ ~省略~
62
+
63
+ }
64
+
65
+ ```
66
+
67
+
68
+
69
+ とかですかね?実装クラスではgetEntityClass()を記載する必要がありますが、クラスの総称型を書く必要がなくなります。