У меня есть контактный класс, который имеет имя, адрес электронной почты и номер телефона. Затем у меня есть класс адресной книги, который имеет идентификатор, имя и список контактов. Поэтому я хочу добавить адресную книгу в базу данных mysql. Я просто хочу, чтобы убедиться, что я делаю это правильно, извлекая имена людей, адрес электронной почты и номер телефона из списка контактов с adressbook class.Here мой код до сих пор:Получить значения из списка объектов
AddressBook Класс:
public class AddressBook{
private int id;
private String name;
private List<Contact> contacts;
// getters and setters
}
Контакт Класс:
public class Contact
{
private String firstName, lastName, email, phoneNum;
// getters and setters
}
DB Класс:
public boolean insert(AddressBook addressBook)
{
boolean success = false;
int executedValue = 0;
try
{
Connection conn = DBConnection.getConnection();
String query = "INSERT INTO addressbook (id, firstname, lastname, email, phonenum)"
+ "VALUEs (?,?,?,?,?)";
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setInt(1, addressBook.getId());
List<Contact> contacts = addressBook.getContacts();
for(Contact contact : contacts)
{
stmt.setString(2, contact.getFirstName());
stmt.setString(3, contact.getLastName());
stmt.setString(4, contact.getEmail());
stmt.setString(5, contact.getPhoneNum());
}
executedValue = stmt.executeUpdate();
success = executedValue > 0;
}
catch (Exception e)
{
System.out.println(e);
}
return success;
}
хорошо, он работает или нет? –
Код выглядит отлично, за исключением того, что вы не хотите вручную устанавливать идентификатор, если это можно было бы рассматривать как столбец автоматического увеличения. Но это дизайнерское решение, а не проблема Java. –
ID должен быть автоматически создан. Транзакции должны быть совершены и должны быть отменены в порядке исключения. Сеансы должны быть закрыты или возвращены, чтобы втянуть блок finally. –