NetBeans using Derby database 1) Using Netbeans, create a database in derby to s
ID: 3576520 • Letter: N
Question
NetBeans using Derby database
1) Using Netbeans, create a database in derby to store the data for Email, First Name, and Last Name.
2) Create a class named Customer that stores data for the user’s id, email address, first name, and last name.
3) Create a class named CustomerDB that contains the methods necessary to get an array list of Customer objects, to get a Customer object for the customer with the specified id, and to add, update, or delete the specified customer.
4) Create a CustomerManagerFrame class like the one shown above. This frame should display a table of customer data as well as the Add, Edit, and Delete buttons. This class should use the Customer and CustomerDB classes to work with the customer data.
5) Create a CustomerForm class that allows the user to add or edit customer data.
Customer Manager Email First Name Last Name frankiones@yahoo.com Frank John pohnsmith@hotmail.com Smith Green seagreen Clevii com Cynthia wendykewarners.com Wendy wolski Add Edit DeleteExplanation / Answer
In java ,
public class Person {
private String firstName;
private String lastName;
private String email;
public string person(string firstname,string lastname,string email){
this.firstname=firstname;
this.lastname=lastname;
this.email=email;
public string getfirstname()
{
return firstname;
}
public string getlastname(){
return lastname; }
public string getemail(){
return email;}
}
public class PersonBean {
static final String JDBC_DRIVER =
"com.mysql.jdbc.Driver";
static final String DB_URL =
"jdbc:mysql://localhost:3306/mydatabase";
static final String DB_USER = "user1";
static final String DB_PASS = "secret";
private JdbcRowSet rowSet = null;
public PersonBean() {
try {
Class.forName(JDBC_DRIVER);
rowSet = new JdbcRowSetImpl();
rowSet.setUrl(DB_URL);
rowSet.setUsername(DB_USER);
rowSet.setPassword(DB_PASS);
rowSet.setCommand("SELECT * FROM Person");
rowSet.execute();
catch (SQLException | ClassNotFoundException ex) {
ex.printStackTrace();
}
}
public Person create(Person p) {
try {
rowSet.moveToInsertRow();
rowSet.updateString("firstName", p.getFirstName());
rowSet.updateString("lastName", p.getLastName());
rowSet.updateString("email", p.getEmail());
rowSet.insertRow();
rowSet.moveToCurrentRow();
} catch (SQLException ex) {
try {
rowSet.rollback();
p = null;
} catch (SQLException e) {
}
ex.printStackTrace();
}
return p;
}
public Person update(Person p) {
try {
rowSet.updateString("firstName", p.getFirstName());
rowSet.updateString("lastName", p.getLastName());
rowSet.updateString("email", p.getEmail());
rowSet.updateRow();
rowSet.moveToCurrentRow();
} catch (SQLException ex) {
try {
rowSet.rollback();
} catch (SQLException e) {
}
ex.printStackTrace();
}
return p;
}
public void delete() {
try {
rowSet.moveToCurrentRow();
rowSet.deleteRow();
} catch (SQLException ex) {
try {
rowSet.rollback();
} catch (SQLException e) { }
ex.printStackTrace();
}
}
public Person moveFirst() {
Person p = new Person();
try {
rowSet.first();
p.setFirstName(rowSet.getString("firstName"));
p.setLastName(rowSet.getString("lastName"));
p.setEmail(rowSet.getString("email"));
} catch (SQLException ex) {
ex.printStackTrace();
}
return p;
}
public Person moveLast() {
Person p = new Person();
try {
rowSet.last();
p.setFirstName(rowSet.getString("firstName"));
p.setLastName(rowSet.getString("lastName"));
p.setEmail(rowSet.getString("email"));
} catch (SQLException ex) {
ex.printStackTrace();
}
return p;
}
public Person moveNext() {
Person p = new Person();
try {
if (rowSet.next() == false)
rowSet.previous();
p.setFirstName(rowSet.getString("firstName"));
p.setLastName(rowSet.getString("lastName"));
p.setEmail(rowSet.getString("email"));
} catch (SQLException ex) {
ex.printStackTrace();
}
return p;
}
public Person movePrevious() {
Person p = new Person();
try {
if (rowSet.previous() == false)
rowSet.next();
p.setFirstName(rowSet.getString("firstName"));
p.setLastName(rowSet.getString("lastName"));
p.setEmail(rowSet.getString("email"));
} catch (SQLException ex) {
ex.printStackTrace();
}
return p;
}
public Person getCurrent() {
Person p = new Person();
try {
rowSet.moveToCurrentRow();
p.setFirstName(rowSet.getString("firstName"));
p.setLastName(rowSet.getString("lastName"));
p.setEmail(rowSet.getString("email"));
} catch (SQLException ex) {
ex.printStackTrace();
}
return p;
}
}
GUI frontend :
public class PersonUI extends BorderPane {
private Label msgLabel = new Label();
private TextField idField = new TextField();
//... mNameField, lNameField, emailField,
private Button createButton = new Button("New...");
//... updateButton, deleteButton, firstButton, prevButton,
//... nextButton, lastButton
private PersonBean bean = new PersonBean();
public personUI() {
setPadding(new Insets(10, 10, 10, 10));
setTop(msgLabel);
setCenter(initFields());
setBottom(initButtons());
setFieldData(bean.moveFirst());
}
private Pane initButtons() {
HBox box = new HBox();
box.setAlignment(Pos.CENTER);
box.setSpacing(5);
box.getChildren().add(createButton);
createButton.setOnAction(new ButtonHandler());
box.getChildren().add(updateButton);
//...
box.getChildren().add(lastButton);
lastButton.setOnAction(new ButtonHandler());
return box;
}
private Pane initFields() {
GridPane grid = new GridPane();
grid.setAlignment(Pos.CENTER);
grid.setPadding(new Insets(10, 10, 10, 10));
grid.setHgap(20);
grid.setVgap(2);
grid.add(new Label("ID"), 1, 0);
grid.add(idField, 2, 0);
idField.setEditable(false);
grid.add(new Label("First Name"), 1, 1);
grid.add(fNameField, 2, 1);
//...
return grid;
}
private Person getFieldData() {
Person p = new Person();
p.setPersonId(Integer.parseInt(idField.getText()));
//...
return p;
}
private void setFieldData(Person p) {
//...
}
private boolean isEmptyFieldData() {
//...
}
private class ButtonHandler implements EventHandler<ActionEvent> {
@Override
public void handle(ActionEvent e) {
Person p = getFieldData();
if (e.getSource().equals(createButton)
&& createButton.getText().equals("Save")) {
if (isEmptyFieldData()) {
msgLabel.setText("Cannot create an empty record");
return;
}
if (bean.create(p) != null)
msgLabel.setText("New person created successfully.");
createButton.setText("New...");
} else if (e.getSource().equals(createButton)
&& createButton.getText().equals("New...")) {
p.setPersonId(new Random().nextInt(Integer.MAX_VALUE) + 1);
p.setFirstName("");
//...
setFieldData(p);
createButton.setText("Save");
} else if (e.getSource().equals(updateButton)) {
if (isEmptyFieldData()) {
msgLabel.setText("Cannot update an empty record");
return;
}
if (bean.update(p) != null)
msgLabel.setText("Person with ID:"
+ String.valueOf(p.getPersonId()
+ " is updated successfully"));
} else if (e.getSource().equals(deleteButton)) {
if (isEmptyFieldData()) {
msgLabel.setText("Cannot delete an empty record");
return;
}
p = bean.getCurrent();
bean.delete();
msgLabel.setText("Person with ID:"
+ String.valueOf(p.getPersonId()
+ " is deleted successfully"));
} else if (e.getSource().equals(firstButton)) {
setFieldData(bean.moveFirst());
} else if (e.getSource().equals(prevButton)) {
setFieldData(bean.movePrevious());
} else if (e.getSource().equals(nextButton)) {
setFieldData(bean.moveNext());
} else if (e.getSource().equals(lastButton)) {
setFieldData(bean.moveLast());
}
}
}
}
with JDBC :
public class AppMain extends Application {
public static void main(String[] args) {
Application.launch(args);
}
@Override
public void start(Stage stage) throws Exception {
stage.setScene(new Scene(new PersonUI(), 600, 280));
stage.show();
}
}
Before implementing this program. First execute this in your oracle database
Create table in SQL :
CREATE TABLE Person(
firstName varchar (20) NOT NULL,
lastName varchar (20) NOT NULL,
email varchar (30) NOT NULL,
PRIMARY KEY (email)
);
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.