cari

Rumah  >  Soal Jawab  >  teks badan

java - Bagaimana untuk memetakan satu-ke-banyak dalam Mybatis

Contohnya, ada kelas entiti

public class AnswerDto{ //一个回复的类,一个问题可能会有多个回复
    int id;
    int askId;//问题id
    List<String> answers; //回复的列表
}

Saya pada asalnya menulis ini, tetapi ia salah T0T, bagaimana saya harus memetakan kandungan ke Senarai<String>

<select id="getAns" parameterType="int" resultMap="uiy">
    select
    id, 
    ask_id AS "askId",
    content
    from t_answer where ask_id = #{_parameter}
</select>

<resultMap type="AnswerDto" id="uiy">
    <id property="id" column="id"/>
    <result property="askId" column="askId" />
    <collection property="ls" ofType="string">
        <constructor>
            <arg column="content"/>
        </constructor>
    </collection>
</resultMap>
曾经蜡笔没有小新曾经蜡笔没有小新2787 hari yang lalu592

membalas semua(3)saya akan balas

  • 伊谢尔伦

    伊谢尔伦2017-05-17 10:09:25

    mybatis menentukan hubungan pemetaan yang ditetapkan berdasarkan tag <id> Jika anda mesti menggunakan jadual anda, anda boleh memetakannya seperti ini

    <id column="askId" property="askId" />
    <result column="id" property="id"/>
    <collection property="answers" ofType="java.lang.String" javaType="java.util.List">
        <result column="content" />
    </collection>

    balas
    0
  • ringa_lee

    ringa_lee2017-05-17 10:09:25

    Poster asal sepatutnya mempunyai satu jadual yang hilang di sini, iaitu jadual soalan.

    Bersempena dengan jadual masalah, definisi DTO sepatutnya seperti ini.

    public class QuestionDTO {
         int questionId;
         String questionDesc;
         List<AnswerDTO> answers; // Answers of the question
         int created; // 创建时间
         int updated; // 更新时间
    }
    
    public class AnswerDTO{ //一个回复的类,一个问题可能会有多个回复
        int id;
        int questionId; // 问题id
        String content; // 答案内容
        int created; // 创建时间
        int updated; // 更新时间
    }

    Pada masa ini, terdapat banyak penyelesaian pertanyaan berkaitan untuk mybatis, saya akan sertakan pautan.

    Pertanyaan berkaitan Mybatis (pertanyaan bersarang)

    Terdapat banyak maklumat dalam talian tentang

    mybatis Anda boleh mencari lebih banyak.

    Akhir sekali, saya ingin membuat cadangan, sebaiknya jangan lakukan pertanyaan berkaitan. Logik pemasangan data diletakkan dalam kod, yang memudahkan transformasi DB masa hadapan. Kerana apabila jumlah data menjadi lebih besar dan lebih besar, prestasi pertanyaan berkaitan adalah lemah, dan bukan mudah untuk mengubah sub-pangkalan data dan sub-jadual Walau bagaimanapun, ini semua berdasarkan pertumbuhan besar perniagaan. Pada masa ini, ada baiknya jika poster itu mula memupuk kesedaran ini.

    balas
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-17 10:09:25

    Pemetaan medan jadual ke medan objek kompleks boleh dilakukan menggunakan TypeHandler tersuai.
    cth:
    Pemetaan medan json ke kelas Java dalam MyBatis
    http://www.cnblogs.com/watery...

    balas
    0
  • Batalbalas