Как я могу сделать таблицу в базе данных, имеющую переменные столбцы в Java? - PullRequest
1 голос
/ 29 сентября 2011

У меня есть веб-приложение на Java.Мне нужно создать таблицу, и я использую JDBC.

Я не знаю в своем списке тегов, сколько будет значений, поэтому для каждого тега значений мне нужен соответствующий столбец в моей таблице.Эти значения извлекаются из другого приложения.

Таким образом, я могу создать таблицу с количеством столбцов n , где n может каждый раз отличаться.

<list>
<value>Name</value>
<value>Address</value>
<value>Contact No</value>
..
.
.
</list >

Как мне этого добиться?

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

Вы должны использовать n строк для хранения значений, а не n столбцов. Столбцы как-то «исправлены» в базе данных, в то время как строки легко добавлять / удалять / изменять.

0 голосов
/ 29 сентября 2011

Вам необходимо динамически работать со структурой таблицы.Существует несколько решений.

С помощью JDBC просто отправьте запрос в Oracle и получите столбцы вашей таблицы.

String myTable = "FOO_TABLE";
String query = "Select COLUMN_NAME from USER_TAB_COLUMNS where TABLE_NAME=?";
PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1, myTable);
//
Set<String> existingColumns = new HashSet<String>();
ResultSet rs = ps.executeQuery();

while (rs.next())
{
    existingColumns.add(rs.getString(1));
}

Теперь вы знаете, какой столбец существует или нет, и вы можете ALTER свою таблицу какты хочешь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...