Mereka sering hanya mewakili data dunia nyata. Berikut adalah contoh sederhana dari bahasa Jawa:
public class User implements java.io.Serializable {
// Properties.
private Long id;
private String name;
private Date birthdate;
// Getters.
public Long getId() { return id; }
public String getName() { return name; }
public Date getBirthdate() { return birthdate; }
// Setters.
public void setId(Long id) { this.id = id; }
public void setName(String name) { this.name = name; }
public void setBirthdate(Date birthdate) { this.birthdate = birthdate; }
// Important java.lang.Object overrides.
public boolean equals(Object other) {
return (other instanceof User) && (id != null) ? id.equals(((User) other).id) : (other == this);
}
public int hashCode() {
return (id != null) ? (getClass().hashCode() + id.hashCode()) : super.hashCode();
}
public String toString() {
return String.format("User[id=%d,name=%s,birthdate=%d]", id, name, birthdate);
}
}
Implementasi Serializable
tidak wajib, tetapi sangat berguna jika Anda ingin dapat bertahan atau mentransfer bahasa Jawa di luar memori Java, misalnya dalam harddisk atau melalui jaringan.
Misalnya, kelas DAO Anda dapat menggunakannya untuk membuat daftar pengguna tempat Anda menyimpan data user
tabel dalam database:
List<User> users = new ArrayList<User>();
while (resultSet.next()) {
User user = new User();
user.setId(resultSet.getLong("id"));
user.setName(resultSet.getString("name"));
user.setBirthdate(resultSet.getDate("birthdate"));
users.add(user);
}
return users;
Sebagai contoh, kelas Servlet Anda dapat menggunakannya untuk mentransfer data dari database ke UI:
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
List<User> users = userDAO.list();
request.setAttribute("users", users);
request.getRequestDispatcher("users.jsp").forward(request, response);
}
Misalnya, halaman JSP Anda dapat mengaksesnya dengan EL , yang mengikuti konvensi Javabean, untuk menampilkan data:
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Birthdate</th>
</tr>
<c:forEach items="${users}" var="user">
<tr>
<td>${user.id}</td>
<td><c:out value="${user.name}" /></td>
<td><fmt:formatDate value="${user.birthdate}" pattern="yyyy-MM-dd" /></td>
</tr>
</c:forEach>
</table>
Apakah masuk akal? Anda lihat, itu semacam konvensi yang dapat Anda gunakan di mana saja untuk menyimpan , mentransfer , dan mengakses data.
Lihat juga: