나는 사람 이름, 전자 메일 및 전화 번호가있는 대화 상대 클래스가 있습니다. 그런 다음 ID, 이름 및 연락처 목록이있는 주소록 클래스가 있습니다. 그래서 mysql 데이터베이스에 주소록을 추가하고 싶다.개체 목록에서 값 가져 오기
주소록 클래스 :
public class AddressBook{
private int id;
private String name;
private List<Contact> contacts;
// getters and setters
}
난 그냥이 사람의 이름을 검색하여 제대로이 일을하고 있는지 확인하려면는 adressbook에서 연락처 목록에서 이메일과 전화 번호 class.Here 지금까지 내 코드입니다
연락 클래스 :
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;
}
음, 작동 여부 –
코드가 자동으로 증가하는 열로 취급 될 수있는 경우 수동으로 ID를 설정하지 않으려는 경우를 제외하고는 코드가 정상적으로 보입니다. 그러나 이것은 실제로 Java 문제가 아니라 설계상의 결정입니다. –
ID는 자동 생성되어야합니다. 트랜잭션은 커밋되어야하며 예외적으로 롤백되어야합니다. 마지막으로 블록을 가져 오기 위해 세션을 닫거나 반환해야합니다. –