PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

JdbcTemplate के साथ PostgreSQL hstore/json का उपयोग कैसे करें

हालांकि उत्तर के लिए काफी देर हो चुकी है (सम्मिलित भाग के लिए), मुझे आशा है कि यह किसी और के लिए उपयोगी हो सकता है:

हैश मैप में की/वैल्यू पेयर लें:

Map<String, String> hstoreMap = new HashMap<>();
hstoreMap.put("key1", "value1");
hstoreMap.put("key2", "value2");

PGobject jsonbObj = new PGobject();
jsonbObj.setType("json");
jsonbObj.setValue("{\"key\" : \"value\"}");

उन्हें PostgreSQL में सम्मिलित करने के लिए निम्न में से किसी एक तरीके का उपयोग करें:

1)

jdbcTemplate.update(conn -> {
     PreparedStatement ps = conn.prepareStatement( "INSERT INTO table (hstore_col, jsonb_col) VALUES (?, ?)" );
     ps.setObject( 1, hstoreMap );
     ps.setObject( 2, jsonbObj );
});

2)

jdbcTemplate.update("INSERT INTO table (hstore_col, jsonb_col) VALUES(?,?)", 
new Object[]{ hstoreMap, jsonbObj }, new int[]{Types.OTHER, Types.OTHER});

3) POJO में hstoreMap/jsonbObj सेट करें (hstoreCol प्रकार का नक्शा और jsonbObjCol प्रकार PGObject का है)

BeanPropertySqlParameterSource sqlParameterSource = new BeanPropertySqlParameterSource( POJO );
sqlParameterSource.registerSqlType( "hstore_col", Types.OTHER );
sqlParameterSource.registerSqlType( "jsonb_col", Types.OTHER );
namedJdbcTemplate.update( "INSERT INTO table (hstore_col, jsonb_col) VALUES (:hstoreCol, :jsonbObjCol)", sqlParameterSource );

और मान पाने के लिए:

(Map<String, String>) rs.getObject( "hstore_col" ));
((PGobject) rs.getObject("jsonb_col")).getValue();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. केकपीएचपी 2.2 PostgreSQL के साथ नई पंक्ति डालने में विफल - डेटाबेस त्रुटि:अपरिभाषित तालिका:7 त्रुटि:संबंध table_id_seq मौजूद नहीं है

  2. PostgreSQL में CSV फ़ाइल आयात करते समय उद्धरण चिह्नों पर ध्यान न दें?

  3. हाइबरनेट डेटाबेस में तालिका नहीं बनाता है

  4. ActiveRecord_Associations_CollectionProxy के लिए रेल अपरिभाषित विधि

  5. महीने के अनुसार मूल्यों का संचयी योग, लापता महीनों के लिए भरना