Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package konditer.client.dao; import java.util.ArrayList; import java.util.GregorianCalendar; import java.util.List; import java.util.Map; import javax.activation.DataSource; import konditer.client.bean.Delivery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; /** * * @author */ @Repository("deliveryDao") public class DeliveryDao implements DeliveryDaoInterface { private DataSource dataSource = null; private JdbcTemplate jdbcTemplate = null; public void setDataSource(DataSource dataSource) { this.dataSource = dataSource; } @Autowired public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } @Override public void addDelivery(int deliveryId, String deliveryName, int deliveryPrice) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public Delivery getDelivery(int deliveryId) { String SQL_QUERY = "SELECT DELIVERY_ID, " + "DELIVERY_NAME, " + "DELIVERY_PRICE, " + "TIMESTAMP " + "FROM deliveries " + "WHERE DELIVERY_ID = ?"; Delivery delivery = (Delivery) jdbcTemplate.queryForObject(SQL_QUERY, new Object[] { deliveryId }, new BeanPropertyRowMapper(Delivery.class)); return delivery; } @Override public ArrayList<Delivery> getAllDeliveries() { String SQL_QUERY = "SELECT DELIVERY_ID, DELIVERY_NAME, DELIVERY_PRICE, TIMESTAMP " + " FROM deliveries "; List<Map<String, Object>> rows = jdbcTemplate.queryForList(SQL_QUERY); ArrayList<Delivery> deliveryList = new ArrayList<>(); for (Map row : rows) { Delivery delivery = new Delivery(); delivery.setDeliveryId(Integer.parseInt(String.valueOf(row.get("DELIVERY_ID")))); delivery.setDeliveryName(String.valueOf(row.get("DELIVERY_NAME"))); delivery.setDeliveryPrice(Double.parseDouble(String.valueOf(row.get("DELIVERY_PRICE")))); //// String[] dateArrFull = (String.valueOf(row.get("TIMESTAMP"))).split(" "); String[] dateArrDate = dateArrFull[0].split("-"); int year = Integer.parseInt(String.valueOf(dateArrDate[0])) - 1900; int month = Integer.parseInt(String.valueOf(dateArrDate[1])) - 1; int day = Integer.parseInt(String.valueOf(dateArrDate[2])); String[] dateArrTime = dateArrFull[1].split(":"); int hour = Integer.parseInt(String.valueOf(dateArrTime[0])); int minut = Integer.parseInt(String.valueOf(dateArrTime[1])); double second = Double.parseDouble(String.valueOf(dateArrTime[2])); delivery.setTimestamp(new GregorianCalendar(year, month, day, hour, minut, (int) second).getTime()); /// deliveryList.add(delivery); } return deliveryList; } @Override public int updateDelivery(int deliveryId, String newDeliveryName, int newDeliveryPrice) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public int deleteDelivery(int deliveryId) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public ArrayList<Delivery> getTimestamp() { String SQL_QUERY = "SELECT DELIVERY_ID, TIMESTAMP " + "FROM deliveries "; List<Map<String, Object>> rows = jdbcTemplate.queryForList(SQL_QUERY); ArrayList<Delivery> deliveryList = new ArrayList<>(); for (Map row : rows) { Delivery delivery = new Delivery(); delivery.setDeliveryId(Integer.parseInt(String.valueOf(row.get("DELIVERY_ID")))); //// String[] dateArrFull = (String.valueOf(row.get("TIMESTAMP"))).split(" "); String[] dateArrDate = dateArrFull[0].split("-"); int year = Integer.parseInt(String.valueOf(dateArrDate[0])) - 1900; int month = Integer.parseInt(String.valueOf(dateArrDate[1])) - 1; int day = Integer.parseInt(String.valueOf(dateArrDate[2])); String[] dateArrTime = dateArrFull[1].split(":"); int hour = Integer.parseInt(String.valueOf(dateArrTime[0])); int minut = Integer.parseInt(String.valueOf(dateArrTime[1])); double second = Double.parseDouble(String.valueOf(dateArrTime[2])); delivery.setTimestamp(new GregorianCalendar(year, month, day, hour, minut, (int) second).getTime()); /// deliveryList.add(delivery); } return deliveryList; } }