public interface JdbcTemplateTestDAO {
Integer returnInt();
String returnString();
List<Map<String, Object>> returnMap();
List<JdbcTemplateTestPOJO> returnCustomObjects();
JdbcTemplateTestPOJO returnCustomObject();
List<JdbcTemplateTestPOJO> returnCustomObjects(List<Long> ids, String login);
List<JdbcTemplateTestPOJO> returnCustomObjects(JdbcTemplateDAOVM jdbcTemplateDAOVM);
}
@Repository
public class JdbcTemplateTestDAOImpl implements JdbcTemplateTestDAO {
@Autowired
private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
@Override
public Integer returnInt() {
String sql = "select count(id) from c_usr_user";
Integer intResult = namedParameterJdbcTemplate.getJdbcTemplate().queryForObject(sql, Integer.class);
return intResult;
}
@Override
public String returnString() {
String sql = "select count(id) from c_usr_user";
return namedParameterJdbcTemplate.getJdbcTemplate().queryForObject(sql, String.class);
}
@Override
public List<Map<String, Object>> returnMap() {
String sql = "select id, login, created_by, created_date, last_modified_by, last_modified_date from c_usr_user where login = 'admin'";
return namedParameterJdbcTemplate.getJdbcTemplate().queryForList(sql);
}
@Override
public List<JdbcTemplateTestPOJO> returnCustomObjects() {
String sql = "select id, login, created_by, created_date, last_modified_by, last_modified_date from c_usr_user where login = 'admin'";
List<JdbcTemplateTestPOJO> query = namedParameterJdbcTemplate.getJdbcTemplate().query(sql, new BeanPropertyRowMapper<>(JdbcTemplateTestPOJO.class));
return query;
}
@Override
public JdbcTemplateTestPOJO returnCustomObject() {
String sql = "select id, login, created_by, created_date, last_modified_by, last_modified_date from c_usr_user where login = 'admin'";
JdbcTemplateTestPOJO jdbcTemplateTestPOJO = namedParameterJdbcTemplate.getJdbcTemplate()
.queryForObject(sql, new BeanPropertyRowMapper<>(JdbcTemplateTestPOJO.class));
return jdbcTemplateTestPOJO;
}
@Override
public List<JdbcTemplateTestPOJO> returnCustomObjects(List<Long> ids, String login) {
String sql = "select id, login, created_by, created_date, last_modified_by, last_modified_date " +
"from c_usr_user " +
" where login = :login and id in (:ids)";
MapSqlParameterSource parameter = new MapSqlParameterSource()
.addValue("ids", ids)
.addValue("login", login);
return namedParameterJdbcTemplate.query(sql, parameter, new BeanPropertyRowMapper<>(JdbcTemplateTestPOJO.class));
}
@Override
public List<JdbcTemplateTestPOJO> returnCustomObjects(JdbcTemplateDAOVM jdbcTemplateDAOVM) {
String sql = "select id, login, created_by, created_date, last_modified_by, last_modified_date " +
"from c_usr_user " +
" where login = :login and id in (:ids)";
SqlParameterSource parameter = new BeanPropertySqlParameterSource(jdbcTemplateDAOVM);
return namedParameterJdbcTemplate.query(sql, parameter, new BeanPropertyRowMapper<>(JdbcTemplateTestPOJO.class));
}
}