Po co używać MapSqlParameterSource w Springu?

0

ta klasa nie ma żadnych metod, które by nie miał interfejs Map.

Dla przykładu, czym różni się to:

	MapSqlParameterSource params = new MapSqlParameterSource();
	params.addValue("email", "a");

	String sql = "select * from offers where email = :email";
		
	return jdbc.query(sql, params, new RowMapper<Offer>() {
// dalszy ciąg kodu...

od tego:

	Map params = new HashMap();
	params.put("email", "a");

	String sql = "select * from offers where email = :email";
		
	return jdbc.query(sql, params, new RowMapper<Offer>() {
// dalszy ciąg kodu...
1
Julian_ napisał(a):

ta klasa nie ma żadnych metod, które by nie miał interfejs Map.

Dla przykładu, czym różni się to:

	MapSqlParameterSource params = new MapSqlParameterSource();
	params.addValue("email", "a");

	String sql = "select * from offers where email = :email";
		
	return jdbc.query(sql, params, new RowMapper<Offer>() {
// dalszy ciąg kodu...

od tego:

	Map params = new HashMap();
	params.put("email", "a");

	String sql = "select * from offers where email = :email";
		
	return jdbc.query(sql, params, new RowMapper<Offer>() {
// dalszy ciąg kodu...

Pewnie dlatego:

The addValue methods on this class will make adding several values easier. The methods return a reference to the MapSqlParameterSource itself, so you can chain several method calls together within a single statement.
https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/core/namedparam/MapSqlParameterSource.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1