/* * Add a computer to the database, and return the id auto incremented of the * computer added */ public Long add(Computer computer) throws SQLException { logger.debug("Enterring add in ComputerDAO."); Connection connection = DataSourceUtils.getConnection(datasource); Long id = null; String query = "INSERT INTO `computer-database-db`.`computer` (name,introduced,discontinued,company_id) VALUES (?,?,?,?);"; PreparedStatement statement = connection.prepareStatement(query); statement.setString(1, computer.getName()); if (computer.getIntroduced() == null) { statement.setDate(2, null); } else statement.setDate(2, new java.sql.Date(computer.getIntroduced().getMillis())); if (computer.getDiscontinued() == (null)) { statement.setDate(3, null); } else statement.setDate(3, new java.sql.Date(computer.getDiscontinued().getMillis())); if (computer.getCompany().getId().equals((0L))) { statement.setString(4, null); } else statement.setLong(4, computer.getCompany().getId()); statement.executeUpdate(); ResultSet resultSet = null; resultSet = statement.getGeneratedKeys(); if (resultSet != null) { resultSet.next(); id = Long.parseLong(resultSet.getString(1)); } if (statement != null) statement.close(); if (resultSet != null) resultSet.close(); logger.debug("Leaving add in ComputerDAO."); return id; }
/* * Edit a computer from the database */ public void edit(Computer computer) throws SQLException { logger.debug("Enterring edit in ComputerDAO."); Connection connection = DataSourceUtils.getConnection(datasource); String query = "UPDATE computer SET name =?,introduced=?,discontinued=?,company_id=? WHERE id=?;"; PreparedStatement statement = connection.prepareStatement(query); statement.setString(1, computer.getName()); if (computer.getIntroduced() == null) { statement.setDate(2, null); } else statement.setDate(2, new java.sql.Date(computer.getIntroduced().getMillis())); if (computer.getDiscontinued() == (null)) { statement.setDate(3, null); } else statement.setDate(3, new java.sql.Date(computer.getDiscontinued().getMillis())); if (computer.getCompany().getId().equals((0L))) { statement.setString(4, null); } else statement.setLong(4, computer.getCompany().getId()); statement.setLong(5, computer.getId()); statement.executeUpdate(); if (statement != null) statement.close(); logger.debug("Leaving edit in ComputerDAO."); }