Mysql
 sql >> база данни >  >> RDS >> Mysql

Mybatis:Картирайте част от SQL към HashMap в 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"/>

В този случай моят aditionalColumns HashMap ще изглежда така след картографиране:

{column_1=value1, column_2=value2}

Забележка:Не знаех колко колони ми трябват, ако знаете точно колко ви трябват и това няма да се промени, можете да картографирате само вашите колони, променяйки втората resultMap, както следва:

<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. съответстващо име на таблици с показване на таблици

  2. Ограничение на броя на извлечените редове MySql, Laravel

  3. MySQL връзка едно към много:GROUP_CONCAT или JOIN или и двете?

  4. Как да разположите Percona Server за MySQL за висока наличност

  5. Конкатениране на низ и число в MySQL