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

Daftar dalam klausa 'IN' MyBatis

Nilai yang ditentukan oleh atribut item harus digunakan di dalam tag foreach, bila digunakan dengan Daftar. Gunakan seperti di bawah ini :

    <foreach item="sId" collection="stripperIds" separator="," open="(" close=")">
        #{sId}
    </foreach>

Atribut indeks tidak wajib, saat menggunakan Daftar. Lihat bagian MyBatis docs untuk info lebih lanjut, atau lihat DTD - http:// mybatis.org/dtd/mybatis-3-mapper.dtd untuk info lebih lanjut tentang parameter :

    <!ELEMENT foreach (#PCDATA | include | trim | where | set | foreach | choose | if | bind)*>
    <!ATTLIST foreach
    collection CDATA #REQUIRED
    item CDATA #IMPLIED
    index CDATA #IMPLIED
    open CDATA #IMPLIED
    close CDATA #IMPLIED
    separator CDATA #IMPLIED
    >

Juga, daftar objek dapat diakses di foreach seperti di bawah ini. Anda biasanya akan menggunakan ini untuk pernyataan INSERT/UPDATE :

Contoh kacang :

public class StripperBean {

    public StripperBean(int stripperID, String stripperName, String realName) {
        this.stripperID = stripperID;
        this.stripperName = stripperName;
        this.realName = realName;
    }

    private int stripperID; 
    private String stripperName;
    private String realName;        

    public int getStripperID() {
        return stripperID;
    }
    public void setStripperID(int stripperID) {
        this.stripperID = stripperID;
    }
    public String getStripperName() {
        return stripperName;
    }
    public void setStripperName(String stripperName) {
        this.stripperName = stripperName;
    }
    public String getRealName() {
        return realName;
    }
    public void setRealName(String realName) {
        this.realName = realName;
    }       
}

Dalam implementasi Anda :

    Map<String, Object> input = new HashMap<>();
    input.put("club", club);
    List<StripperBean> strippers = new ArrayList<>();
    strippers.add(new StripperBean(1,"Ashley", "Jean Grey"));
    strippers.add(new StripperBean(2,"Candice","Diana Prince"));
    strippers.add(new StripperBean(3,"Cristal","Lara Croft"));        
    input.put("strippers", strippers);
    return stripClubMapper.saveStripperDetails(input);

Di mapper xml :

    <insert id="saveStripperDetails">
        INSERT INTO EXOTIC_DANCERS (STRIPPER_ID, STAGE_NAME, REAL_NAME)
        VALUES
        <foreach item="stripper" collection="input" separator=",">
            (#{stripper.stripperID},
            #{stripper.stripperName},
            #{stripper.realName})
        </foreach>
    </select>

Pertanyaan bagus BTW :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbedaan tanggal antara dua record dalam tabel yang sama

  2. alternatif proxysql-admin - ClusterControl ProxySQL GUI

  3. Bangun kembali model tanpa kehilangan data di MySQL untuk Symfony

  4. Bagaimana cara mentransfer database MySQL saya ke komputer lain?

  5. Tidak dapat terhubung ke MySQL melalui skrip PHP saat menggunakan mysqli atau PDO TAPI mysql berfungsi