sql >> データベース >  >> RDS >> Mysql

Mybatis:SQLの一部をPOJO内のHashMapにマップします

    何度も試した結果、次のような解決策が見つかりました。

    POJO:

    private int id;
    private String name;
    private String surname;
    private HashMap<String, Object> aditionalColumns;
    
    // getters & setters
    

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

    この場合、マッピング後のaditionalColumnsHashMapは次のようになります。

    {column_1=value1, column_2=value2}
    

    注:必要な列の数がわかりませんでした。必要な列の数が正確にわかっていて、変更されない場合は、次のように2番目の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. MySQLでIFステートメントを使用してWHILEループを設定するにはどうすればよいですか?

    2. SQL Server Profiler-1つのデータベースからのイベントのみを表示するようにトレースをフィルタリングするにはどうすればよいですか?

    3. ウェルカムページの初期化に関するOracleSQLDeveloperの問題

    4. 数式を実行し、その値をSQLで変数に設定します