2014-02-19 3 views
0

Я хочу создать запрос SELECT динамически. Хотите динамически добавлять столбцы в запрос SELECT. Если есть способ сделать это, просто используя обычный JDBC.Создание динамического запроса SELECT с использованием простого JDBC

Я попытался создать то же самое, используя класс таблицы Bean, проверив не нулевые значения, Bean bean = new Bean(); bean.setAttribute1 ("AAA");

, а затем в DN менеджер классе

if (bean.attribute1 != null) { 
append("COLUMN_1") 
} 

так же при загрузке из результирующего

if (bean.attribute1 != null) { 
rs.getString("COLUMN_1"); 
} 

но это решения включает в себя множество If Else условий. предположим, что в bean-компоненте присутствуют 50 атрибутов, то это означает 100, если условия else 50 для создания запроса и 50 для его загрузки из набора результатов.

Может ли кто-нибудь предложить мне более простое решение?

ответ

0

java.sql.DatabaseMetadata может помочь динамически генерировать действительный запрос (например, вставки, обновление по первичному ключу). java.sql.ResultSetMetadata может использоваться для интроспекции запроса (выберите).

+0

Я хочу создать запрос SELECT динамически – abc

+0

Я думаю, что это будет слишком сложно, но механизм шаблонов может помочь (Velocity - очень зрелый инструмент) см. Здесь для примеров использования http://cayenne.apache.org/docs/3.0 /scripting-sqltemplate.html – jbaliuka

+0

Нет ли другого простого способа сделать это? – abc

Смежные вопросы