@demon123
Java Developer

Primefaces + MySQL?

Доброе утро, хочу сделать, чтобы при нажатие на кнопку Add, данные записываются в базу и отображаются в таблице нативным JDBC (без hibernate, spring).
Пример:
a31689a2240d445a988cb1046249c5eb.PNG645ab12dbab146508ad37225ab223068.PNG
Мои наброски
DAO:
public static void insert() throws SQLException {
        Statement st = null;
        String sql = "INSERT INTO employee" + "(name, salary) " + "VALUES" + "('test', 12.0)";

        try {
            st = Database.getConnection().createStatement();
            st.executeUpdate(sql);
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }


Bean:
public void insertData() throws SQLException {
       //......
   }


.xhtml:
<p:panelGrid columns="2">
        <h:outputLabel  value="Name: " />
        <p:inputText value="#{emploee.name}"/>
        <h:outputLabel  value="Salary: " />
        <p:inputText  value="#{emploee.salary}"/>
        <f:facet name="footer">
            <h:commandButton value="Add" action="#{emploee.insertData()}"/>
        </f:facet>
    </p:panelGrid>
  • Вопрос задан
  • 464 просмотра
Решения вопроса 1
@demon123 Автор вопроса
Java Developer
У меня получилось вроде так.

DAO:
public static void insert(String aName, double aSalary) throws SQLException {
        PreparedStatement ps = null;
        try {
            ps = Database.getConnection().prepareStatement("INSERT INTO table (name, salary) VALUES (?, ?)");
            ps.setString(1,aName);
            ps.setDouble(2, aSalary);
            ps.executeUpdate();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }


public void insertData() throws SQLException {
       EmployeeDAO.insert(this.name, this.salary);
   }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
MyWed Рязань
от 80 000 до 120 000 руб.
Spice IT Recruitment Москва
от 150 000 до 230 000 руб.
Spice IT Recruitment Москва
До 250 000 руб.