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

Mybatis:POJO के अंदर SQL के हिस्से को हैश मैप में मैप करें

कई कोशिशों के बाद, मुझे इसका समाधान इस प्रकार मिला:

पोजो:

private int id;
private String name;
private String surname;
private HashMap<String, Object> aditionalColumns;

// getters & setters

मायबैटिस मैपर:

<resultMap id="BaseResultMap" type="Person" automapping="true">
  <id column="id" property="id"/>
  <association
      property="aditionalColumns"
      resultMap="aditionalColumnsMapper" 
      columnPrefix="calculated_" />
</resultMap>

<resultMap id="aditionalColumnsMapper" type="map" autoMapping="true"/>

इस मामले में, मेरे अतिरिक्त कॉलम हैश मैप मैपिंग के बाद इस तरह दिखेगा:

{column_1=value1, column_2=value2}

नोट:मुझे नहीं पता था कि मुझे कितने कॉलम चाहिए, अगर आपको पता है कि आपको कितने कॉलम चाहिए, और यह नहीं बदलेगा, तो आप केवल अपने कॉलम को दूसरे परिणाम को बदलते हुए मैप कर सकते हैं:

<resultMap id="aditionalColumnsMapper" type="map">
    <result column="calculated_column_1" property="calculated_column_1"/>
    <result column="calculated_column_2" property="calculated_column_2"/>
</resultMap>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql चुनें से चुनें

  2. गतिशील रूप से बनाए गए इनपुट फ़ील्ड से तालिका में डेटा अपडेट करें

  3. पृष्ठ को कई बार पुनः लोड/रीफ्रेश करने पर max_user_connections से अधिक होने से कैसे रोकें?

  4. कमांड प्रॉम्प्ट का उपयोग करके MySQLDump द्वारा उत्पन्न SQL फ़ाइल को कैसे पुनर्स्थापित करें

  5. आंतरिक जुड़ाव के साथ एक पंक्ति को हटाना