Package com.nurkiewicz.jdbcrepository.repositories

Source Code of com.nurkiewicz.jdbcrepository.repositories.BoardingPassRepository

package com.nurkiewicz.jdbcrepository.repositories;

import com.nurkiewicz.jdbcrepository.JdbcRepository;
import com.nurkiewicz.jdbcrepository.RowUnmapper;
import com.nurkiewicz.jdbcrepository.TableDescription;
import org.springframework.jdbc.core.RowMapper;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;

/**
* @author Tomasz Nurkiewicz
* @since 1/20/13, 10:09 AM
*/
public class BoardingPassRepository extends JdbcRepository<BoardingPass, Object[]> {
  public BoardingPassRepository() {
    this("BOARDING_PASS");
  }

  public BoardingPassRepository(String tableName) {
    super(MAPPER, UNMAPPER, new TableDescription(tableName, null, "flight_no", "seq_no")
    );
  }

  @Override
  protected <S extends BoardingPass> S postCreate(S entity, Number generatedId) {
    entity.withPersisted(true);
    return entity;
  }

  public static final RowMapper<BoardingPass> MAPPER = new RowMapper<BoardingPass>() {
    @Override
    public BoardingPass mapRow(ResultSet rs, int rowNum) throws SQLException {
      final BoardingPass boardingPass = new BoardingPass();
      boardingPass.setFlightNo(rs.getString("flight_no"));
      boardingPass.setSeqNo(rs.getInt("seq_no"));
      boardingPass.setPassenger(rs.getString("passenger"));
      boardingPass.setSeat(rs.getString("seat"));
      return boardingPass.withPersisted(true);
    }
  };

  public static final RowUnmapper<BoardingPass> UNMAPPER = new RowUnmapper<BoardingPass>() {
    @Override
    public Map<String, Object> mapColumns(BoardingPass boardingPass) {
      final HashMap<String, Object> map = new HashMap<String, Object>();
      map.put("flight_no", boardingPass.getFlightNo());
      map.put("seq_no", boardingPass.getSeqNo());
      map.put("passenger", boardingPass.getPassenger());
      map.put("seat", boardingPass.getSeat());
      return map;

    }
  };

}
TOP

Related Classes of com.nurkiewicz.jdbcrepository.repositories.BoardingPassRepository

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.