给我一段vaadin的数据库连接增删改查操作实现代码
时间: 2024-03-25 07:41:25 浏览: 13
好的,以下是一个简单的Vaadin应用程序,用于演示如何连接数据库并执行增删改查操作:
```
@Route("database")
public class DatabaseView extends VerticalLayout {
private Grid<Customer> grid = new Grid<>(Customer.class);
private TextField firstNameField = new TextField("First Name");
private TextField lastNameField = new TextField("Last Name");
private TextField emailField = new TextField("Email");
private Button addButton = new Button("Add");
private Button updateButton = new Button("Update");
private Button deleteButton = new Button("Delete");
private CustomerService customerService = new CustomerService();
public DatabaseView() {
configureGrid();
configureFields();
configureButtons();
add(grid, firstNameField, lastNameField, emailField, addButton, updateButton, deleteButton);
updateList();
}
private void configureGrid() {
grid.setColumns("firstName", "lastName", "email");
grid.setSizeFull();
grid.asSingleSelect().addValueChangeListener(event -> {
Customer customer = event.getValue();
if (customer != null) {
firstNameField.setValue(customer.getFirstName());
lastNameField.setValue(customer.getLastName());
emailField.setValue(customer.getEmail());
}
});
}
private void configureFields() {
firstNameField.setRequiredIndicatorVisible(true);
lastNameField.setRequiredIndicatorVisible(true);
emailField.setRequiredIndicatorVisible(true);
}
private void configureButtons() {
addButton.addClickListener(event -> addCustomer());
updateButton.addClickListener(event -> updateCustomer());
deleteButton.addClickListener(event -> deleteCustomer());
}
private void addCustomer() {
Customer customer = new Customer(firstNameField.getValue(), lastNameField.getValue(), emailField.getValue());
customerService.save(customer);
updateList();
clearFields();
}
private void updateCustomer() {
Customer customer = grid.asSingleSelect().getValue();
if (customer != null) {
customer.setFirstName(firstNameField.getValue());
customer.setLastName(lastNameField.getValue());
customer.setEmail(emailField.getValue());
customerService.save(customer);
updateList();
clearFields();
}
}
private void deleteCustomer() {
Customer customer = grid.asSingleSelect().getValue();
if (customer != null) {
customerService.delete(customer);
updateList();
clearFields();
}
}
private void updateList() {
List<Customer> customers = customerService.findAll();
grid.setItems(customers);
}
private void clearFields() {
firstNameField.clear();
lastNameField.clear();
emailField.clear();
}
}
```
这个例子演示了如何使用一个名为Customer的Java类来表示数据库中的一个表。我们使用一个名为CustomerService的服务类来执行实际的数据库操作。在这个例子中,我们实现了添加、更新和删除操作,并在一个Grid中显示所有客户记录。