Java tutorial
/** * This file is part of SAMM. * * SAMM is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * SAMM is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with SAMM. If not, see <http://www.gnu.org/licenses/>. */ package pl.edu.agh.samm.db.impl; import java.util.Collections; import java.util.Map; import javax.sql.DataSource; import org.springframework.jdbc.core.simple.SimpleJdbcTemplate; import org.springframework.transaction.annotation.Transactional; /** * @author Pawel Koperek <pkoperek@gmail.com> * @author Mateusz Kupisz <mkupisz@gmail.com> * */ public abstract class AbstractDao { private static final String SQL_IDENTITY = "CALL IDENTITY()"; private SimpleJdbcTemplate simpleJdbcTemplate; /** * Gets last id of insert statement. Method using that <b>must be annotated * with {@link Transactional} with propagation set to at least SUPPORTS</b> * * @return */ protected Integer getLastId() { Map<String, Object> emptyMap = Collections.emptyMap(); return simpleJdbcTemplate.queryForInt(SQL_IDENTITY, emptyMap); } public void setDataSource(DataSource dataSource) { this.simpleJdbcTemplate = new SimpleJdbcTemplate(dataSource); } protected SimpleJdbcTemplate getSimpleJdbcTemplate() { return simpleJdbcTemplate; } }