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.sql.DataSource; import konditer.client.bean.CakeInside; 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("cakeInsideDao") public class CakeInsideDao implements CakeInsideDaoInterface { 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 addCakeInside(int cakeInsideId, String cakeInsideName, String cakeInsideData, String cakeInsideImage, double cakeInsidePrice) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public CakeInside getCakeInside(int cakeInsideId) { String SQL_QUERY = "SELECT CAKE_INSIDE_ID, " + "CAKE_INSIDE_NAME, " + "CAKE_INSIDE_DATA, " + "CAKE_INSIDE_IMAGE, " + "CAKE_INSIDE_PRICE, " + "TIMESTAMP " + "FROM cake_insides " + "WHERE CAKE_INSIDE_ID = ?"; CakeInside cakeInside = (CakeInside) jdbcTemplate.queryForObject(SQL_QUERY, new Object[] { cakeInsideId }, new BeanPropertyRowMapper(CakeInside.class)); return cakeInside; } @Override public ArrayList<CakeInside> getAllCakeInsides() { String SQL_QUERY = "SELECT CAKE_INSIDE_ID, " + "CAKE_INSIDE_NAME, " + "CAKE_INSIDE_DATA, " + "CAKE_INSIDE_IMAGE, " + "CAKE_INSIDE_PRICE, " + "TIMESTAMP " + "FROM cake_insides ORDER BY CAKE_INSIDE_NAME"; List<Map<String, Object>> rows = jdbcTemplate.queryForList(SQL_QUERY); ArrayList<CakeInside> cakeInsideList = getCakeInsidesList(rows); return cakeInsideList; } private ArrayList<CakeInside> getCakeInsidesList(List<Map<String, Object>> rows) { ArrayList<CakeInside> cakeInsideList = new ArrayList<>(); for (Map row : rows) { CakeInside cakeInside = new CakeInside(); cakeInside.setCakeInsideId(Integer.parseInt(String.valueOf(row.get("CAKE_INSIDE_ID")))); cakeInside.setCakeInsideName(String.valueOf(row.get("CAKE_INSIDE_NAME"))); cakeInside.setCakeInsideData(String.valueOf(row.get("CAKE_INSIDE_DATA"))); cakeInside.setCakeInsideImage(String.valueOf(row.get("CAKE_INSIDE_IMAGE"))); //// 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])); cakeInside.setTimestamp(new GregorianCalendar(year, month, day, hour, minut, (int) second).getTime()); /// cakeInsideList.add(cakeInside); } return cakeInsideList; } @Override public ArrayList<CakeInside> getAllCakeInsides(String searchValue) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public ArrayList<CakeInside> getAllCakeInsidesByName(String cakeInsideName) { String SQL_QUERY = "SELECT CAKE_INSIDE_ID, CAKE_INSIDE_NAME, CAKE_INSIDE_DATA, CAKE_INSIDE_IMAGE, CAKE_INSIDE_PRICE, TIMESTAMP " + " FROM cake_insides " + " WHERE CAKE_INSIDE_NAME = ? " + " ORDER BY CAKE_INSIDE_NAME "; List<Map<String, Object>> rows = jdbcTemplate.queryForList(SQL_QUERY, new Object[] { cakeInsideName }); ArrayList<CakeInside> cakeInsideList = getCakeInsidesList(rows); return cakeInsideList; } @Override public ArrayList<CakeInside> searchCakeInsides(String sqlQuery) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public int updateCakeInside(int cakeInsideId, String newCakeInsideName, String newCakeInsideData, String newCakeInsideImage, double newCakeInsidePrice) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public int deleteCakeInside(int cakeInsideId) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public ArrayList<CakeInside> getTimestamp() { String SQL_QUERY = "SELECT CAKE_INSIDE_ID, TIMESTAMP " + " FROM cake_insides "; List<Map<String, Object>> rows = jdbcTemplate.queryForList(SQL_QUERY); ArrayList<CakeInside> cakeInsideList = new ArrayList<>(); for (Map row : rows) { CakeInside cakeInside = new CakeInside(); cakeInside.setCakeInsideId(Integer.parseInt(String.valueOf(row.get("CAKE_INSIDE_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])); cakeInside.setTimestamp(new GregorianCalendar(year, month, day, hour, minut, (int) second).getTime()); /// cakeInsideList.add(cakeInside); } return cakeInsideList; } }