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 airport.database.services.setting; import airport.database.dispatcher.airplane.FlightDaoImpl; import airport.database.services.users.User; import java.sql.ResultSet; import java.sql.SQLException; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations; import org.springframework.jdbc.core.namedparam.SqlParameterSource; import org.springframework.stereotype.Repository; /** * * @author mcdoker */ @Repository public class SettingFrontEndDaoImpl implements SettingFrontEndDao { private final static Logger LOG = Logger.getLogger(SettingFrontEndDaoImpl.class); @Autowired private NamedParameterJdbcOperations jdbcOperations; private final static String SQL_QUERY_SELECT_SETTING = "SELECT check_setting_show_new_message, check_setting_music_airplane, \n" + " check_setting_music_chat, check_setting_music_service, check_setting_show_clock, \n" + " check_setting_show_weather, check_setting_show_profile, check_setting_show_dispatcher_online \n" + " FROM setting_front_end WHERE user_id = " + "(SELECT user_id FROM users_online WHERE id_session = :id)"; private final static String SQL_QUERY_UPDATE_SETTING = "UPDATE setting_front_end\n" + " SET check_setting_show_new_message=:checkSettingShowNewMessage, " + " check_setting_music_airplane=:checkSettingMusicAirplane, \n" + " check_setting_music_chat=:checkSettingMusicChat, " + " check_setting_music_service=:checkSettingMusicService," + " check_setting_show_clock=:checkSettingShowClock, \n" + " check_setting_show_weather=:checkSettingShowWeather," + " check_setting_show_profile=:checkSettingShowProfile," + " check_setting_show_dispatcher_online=:checkSettingShowDispatcherOnline\n" + " WHERE user_id = " + "(SELECT user_id FROM users_online WHERE id_session = :id)"; @Override public SettingFrontEnd getSettingFrontEnd(User user) { SqlParameterSource parameterUser = new BeanPropertySqlParameterSource(user); SettingFrontEnd settingFrontEndResult = jdbcOperations.queryForObject(SQL_QUERY_SELECT_SETTING, parameterUser, new SettingFrontEndRowMapper()); if (LOG.isInfoEnabled()) { LOG.info("get setting front end of user. User : " + user + ". Result " + settingFrontEndResult); } return settingFrontEndResult; } @Override public void setSettingFrontEnd(User user, SettingFrontEnd settingFrontEnd) { MapSqlParameterSource mapSqlParameterSource = new MapSqlParameterSource(); mapSqlParameterSource.addValue("checkSettingMusicAirplane", settingFrontEnd.getCheckSettingMusicAirplane()); mapSqlParameterSource.addValue("checkSettingMusicChat", settingFrontEnd.getCheckSettingMusicChat()); mapSqlParameterSource.addValue("checkSettingMusicService", settingFrontEnd.getCheckSettingMusicService()); mapSqlParameterSource.addValue("checkSettingShowClock", settingFrontEnd.getCheckSettingShowClock()); mapSqlParameterSource.addValue("checkSettingShowDispatcherOnline", settingFrontEnd.getCheckSettingShowDispatcherOnline()); mapSqlParameterSource.addValue("checkSettingShowNewMessage", settingFrontEnd.getCheckSettingShowNewMessage()); mapSqlParameterSource.addValue("checkSettingShowProfile", settingFrontEnd.getCheckSettingShowProfile()); mapSqlParameterSource.addValue("checkSettingShowWeather", settingFrontEnd.getCheckSettingShowWeather()); mapSqlParameterSource.addValue("id", user.getId()); jdbcOperations.update(SQL_QUERY_UPDATE_SETTING, mapSqlParameterSource); if (LOG.isInfoEnabled()) { LOG.info("set setting front end of user. User : " + user + ". SettingFrontEnd " + settingFrontEnd); } } private static class SettingFrontEndRowMapper implements RowMapper<SettingFrontEnd> { private final static String AGRUMENT_SHOW_NEW_MESSAGE = "check_setting_show_new_message"; private final static String AGRUMENT_MUSIC_AIRPLANE = "check_setting_music_airplane"; private final static String AGRUMENT_MUSIC_CHAT = "check_setting_music_chat"; private final static String AGRUMENT_MUSIC_SERVICE = "check_setting_music_service"; private final static String AGRUMENT_SHOW_CLOCK = "check_setting_show_clock"; private final static String AGRUMENT_SHOW_WEATHER = "check_setting_show_weather"; private final static String AGRUMENT_SHOW_PROFILE = "check_setting_show_profile"; private final static String AGRUMENT_SHOW_DISPATCHER_ONLINE = "check_setting_show_dispatcher_online"; @Override public SettingFrontEnd mapRow(ResultSet rs, int rowNum) throws SQLException { SettingFrontEnd settingFrontEndResult = new SettingFrontEnd(); settingFrontEndResult.setCheckSettingMusicAirplane(rs.getInt(AGRUMENT_MUSIC_AIRPLANE)); settingFrontEndResult.setCheckSettingMusicChat(rs.getInt(AGRUMENT_MUSIC_CHAT)); settingFrontEndResult.setCheckSettingMusicService(rs.getInt(AGRUMENT_MUSIC_SERVICE)); settingFrontEndResult.setCheckSettingShowClock(rs.getInt(AGRUMENT_SHOW_CLOCK)); settingFrontEndResult.setCheckSettingShowDispatcherOnline(rs.getInt(AGRUMENT_SHOW_DISPATCHER_ONLINE)); settingFrontEndResult.setCheckSettingShowNewMessage(rs.getInt(AGRUMENT_SHOW_NEW_MESSAGE)); settingFrontEndResult.setCheckSettingShowProfile(rs.getInt(AGRUMENT_SHOW_PROFILE)); settingFrontEndResult.setCheckSettingShowWeather(rs.getInt(AGRUMENT_SHOW_WEATHER)); return settingFrontEndResult; } } }