Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Mybatis:Mapuj część SQL do HashMap wewnątrz POJO

Po wielu próbach znalazłem rozwiązanie w następujący sposób:

POJO:

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

// getters & setters

MyBatis Mapper:

<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"/>

W tym przypadku moja aditionalColumns HashMap po zmapowaniu wyglądałaby tak:

{column_1=value1, column_2=value2}

Uwaga:nie wiedziałem, ile kolumn potrzebowałem, jeśli dokładnie wiesz, ile potrzebujesz i to się nie zmieni, możesz mapować tylko swoje kolumny, zmieniając drugą mapę wyników w następujący sposób:

<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. Czy istnieje sposób na dopasowanie adresu IP do adresu IP+CIDR ​​bezpośrednio z zapytania SELECT?

  2. JSON_REPLACE() – Zamień wartości w dokumencie JSON w MySQL

  3. mysql dołącz z limitem 1

  4. Jak naprawić serializowany ciąg, który został uszkodzony przez nieprawidłową długość licznika bajtów?

  5. Konfiguracja mysql5 Macports pod Snow Leopard