Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mybatis:Petakan bagian dari SQL ke HashMap di dalam POJO

Setelah berkali-kali mencoba, saya menemukan solusinya sebagai berikut:

POJO:

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

// getters & setters

Pemeta MyBatis:

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

Dalam hal ini, HashMap tambahanColumns saya akan terlihat seperti ini setelah pemetaan:

{column_1=value1, column_2=value2}

Catatan:Saya tidak tahu berapa banyak kolom yang saya butuhkan, jika Anda tahu persis berapa banyak yang Anda butuhkan, dan itu tidak akan berubah, Anda hanya dapat memetakan kolom Anda dengan mengubah resultMap kedua sebagai berikut:

<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. Mengoptimalkan kueri MySQL di seluruh data hierarkis

  2. Buat Tabel dengan Nama Dinamis melalui Prosedur Tersimpan

  3. PILIH beberapa catatan untuk masing-masing DISTINCT dalam satu kueri

  4. jumlah pendaftaran pengguna mysql antar grup

  5. bagaimana saya bisa tahu apakah mysql_real_escape_string berfungsi