Полагаю, вы хотите взглянуть на jdb c. Java Подключение к базе данных позволяет создавать sql запросов в java. Тем не менее, в приложениях Java EE часто используется Java Persistence API (JPA). Это спецификация того, как вы можете хранить и извлекать Java -объекты из базы данных. Очень распространенной реализацией этого является Hibernate Framework.
Если вы хотите включить возможности Hibernate для вашего проекта jsf, следуйте этому руководству: https://howtodoinjava.com/hibernate/hibernate-3-introduction-and-writing-hello-world-application/. Если ваш проект не построен с использованием Maven, просто игнорируйте эту часть руководства.
С помощью спящего режима, например. Вы можете создать пользовательский объект. Вы можете следовать этому простому руководству по созданию сущностей: https://www.baeldung.com/jpa-entities
Теперь давайте предположим, что вы не хотите использовать ничего из этого и просто хотите решение по умолчанию с jdb c:
import java.sql.*;
public class Userdao
{
public static void saveUser(User user)
{
try
{
value1 = user.getId();
value2 = user.getFirstName();
value3 = user.getLastName();
String myUrl = "jdbc:somesql:localhost/test";
//now we load the driver
Class.forName("oracle.jdbc.driver.OracleDriver"); //download the correct driver of your database and add as library to your project
Connection conn = DriverManager.getConnection(myUrl, "root", "");
// our SQL SELECT query.
// if you only need a few columns, specify them by name instead of using "*"
String addUserQuery = "INSERT INTO table_name (column1, column2, column3, ...) VALUES (" + value1 + ", " + value2 + ", " + value3, + "...);" //column1 could be Userid-Primarykey, 2 Name ...
Statement addSt = conn.createStatement();
addSt.executeQuery(addUserQuery)
// create the java statement for retrieving
String query = "SELECT + from table_name";
Statement st = conn.createStatement();
// execute the query, and get a java resultset
ResultSet rs = st.executeQuery(query);
// iterate through the java resultset
while (rs.next())
{
int id = rs.getInt("id");
String firstName = rs.getString("first_name"); //first_name being the column name
String lastName = rs.getString("last_name");
// print the Name
System.out.format("%s, %s\n", id, firstName, lastName);
}
st.close();
}
catch (Exception e)
{
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
}
}
}
Ссылки на внешние ключи обрабатываются в базе данных, поэтому для. например. если вы хотите получить дочерние объекты, вам просто нужен запрос, который объединяет таблицы, а затем извлекает соответствующие значения из набора результатов.