Вставьте все значения таблицы в другую таблицу в SQL

Вам нужно поместить все / компоненты в и привязать их атрибут value к свойству bean через выражение EL, например #{bean.property}, поддерживаемое парой getter / setter. При правильной установке JSF автоматически устанавливает значения в компоненте, когда форма отправляется через компонент в той же форме. Вы можете указать метод действия компонента в атрибуте action компонента через выражение EL, подобное #{bean.action}, которое указывает на голый метод action(). Все представленные значения доступны прямо там обычным способом Java.

Учитывая этот пример формы JSF с одним полем ввода и одним полем выбора:


    
    
        
        
        
        
    
    
    
    

Следующий компонент распечатывает предоставленные значения в stdout, доказывая, что JSF уже установил значения задолго до момента доступа к нему в методе действий.

package com.example;

import javax.inject.Named;
import javax.enterprice.context.RequestScoped;

@Named // Use @javax.faces.bean.ManagedBean on outdated environments.
@RequestScoped // Use @javax.faces.bean.RequestScoped on outdated environments.
public class Bean {

    private String text;
    private String choice;
    private String result;

    public void submit() {
        result = "Submitted values: " + text + ", " + choice;
        System.out.println(result);
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }

    public String getChoice() {
        return choice;
    }

    public void setChoice(String choice) {
        this.choice = choice;
    }

    public String getResult() {
        return result;
    }
}

Вот и все. Поворот регулярной формы в форму ajax - это вопрос о вложении в командном компоненте, как показано ниже.


    

Вы можете найти другой пример и ценные ссылки внизу нашего JSF wiki page .

Обратите внимание, что все, что вы намерены делать с представленными значениями, несут ответственность JSF. Например, манипулируя им, переходя в другой класс, сохраняя его в базе данных и т. Д. Все это не связано с JSF. Он как платформа, основанная на HTML-формах, уже выполнила свою работу по предоставлению вам представленных значений в удобстве использования переменных Java. Остальное зависит от вас.

Чтобы исследовать следующий шаг, вы должны в этот момент просто делать так, как будто у вас уже есть куча готовых / жестко закодированных переменных, а не весь пользовательский интерфейс на основе JSF. Например, чтобы сохранить значения в базе данных, люди обычно используют инфраструктуру уровня бизнес-сервисов, такую ​​как EJB, которая, в свою очередь, использует инфраструктуру уровня сохранения, такую ​​как JPA. Некоторые люди даже используют JDBC «простой ваниль». Для получения дополнительных ссылок на конкретные примеры, начните здесь: JSF-контроллер, служба и DAO .

119
задан Chris Ballance 23 February 2009 в 03:27
поделиться

6 ответов

Оператор вставки на самом деле имеет синтаксис для того, чтобы сделать просто это. Намного легче при определении имен столбцов вместо того, чтобы выбрать "*" хотя:

INSERT INTO new_table (Foo, Bar, Fizz, Buzz)
SELECT Foo, Bar, Fizz, Buzz
FROM initial_table
-- optionally WHERE ...

я должен разъяснить это, потому что по некоторым причинам это сообщение получает несколько вниз-голосов.

INSERT INTO... ВЫБОР ИЗ синтаксиса для того, когда таблица, которую Вы вставляете в ("new_table" в моем примере выше) уже, существует. Поскольку другие сказали, ВЫБОР... В Синтаксис для того, когда Вы хотите составить новую таблицу как часть команды.

Вы не указывали, должна ли новая таблица быть составлена как часть команды, таким образом, INSERT INTO... ВЫБЕРИТЕ ИЗ, должен быть прекрасным, если Ваша конечная таблица уже существует.

253
ответ дан 24 November 2019 в 01:46
поделиться

От здесь:

SELECT *
INTO new_table_name [IN externaldatabase] 
FROM old_tablename
7
ответ дан 24 November 2019 в 01:46
поделиться

Можно использовать select into оператор. Посмотрите больше в W3Schools.

4
ответ дан 24 November 2019 в 01:46
поделиться

Если бы Вы передаете много данных постоянно, т.е. не заполняете временную таблицу, я рекомендовал бы использовать Данные Импорта/Экспорта SQL Server для отображений от таблицы к таблице.

инструмент Import/Export обычно лучше, чем прямой SQL, когда у Вас есть преобразования типов и возможное усечение значения в Вашем отображении. Обычно, чем более сложный Ваше отображение, тем более продуктивный Вы используете инструмент ETL как Услуги по интеграции (SSIS) вместо прямого SQL.

инструмент Import/Export является на самом деле мастером SSIS, и можно сохранить работу как dtsx пакет.

3
ответ дан 24 November 2019 в 01:46
поделиться

Я думаю, что этот оператор мог бы сделать то, что Вы хотите.

INSERT INTO newTableName (SELECT column1, column2, column3 FROM oldTable);
2
ответ дан 24 November 2019 в 01:46
поделиться

Попробуйте следующее:

INSERT INTO newTable SELECT * FROM initial_Table
20
ответ дан 24 November 2019 в 01:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: