mybatis批量(List裏面多個實體對象)插入數據庫

需求:
傳入的參數是list集合,集合裏面是多個實體對象,要將其依次插入到數據庫中
代碼實現:

<insert id="saveBatch" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
    	insert into TABLE_NAME (NAME, TYPE, ID)
    	values
    	<foreach collection="list" item="item" index="index" separator=",">
            (
              #{item.name},
              #{item.type},
              #{item.id}
            )
        </foreach>
  	</insert>

使用標籤:

foreach

可調標籤屬性:

  • collection : list | array | map //目前只試過list
  • item : list中每組對象(元素)別名,可隨意自定義
  • index : 索引值,可自定義 separator : 拼接每組數據的分隔符,按需求確定,我這插入多個對象,用逗號分隔符
  • open : 語句拼接以什麼符號開始,sql語句上的需要,比如我這裏在foreach裏面加了"(",就不需要加這個屬性
  • close : 語句拼接以什麼符號結束,sql語句上的需要,比如我這裏在foreach裏面加了")",就不需要加這個屬性
  • #{item.name}: 這個item.name, item是自己設置的對象名,name是對象的屬性

轉換成Sql語句:

insert into table_name (id, type, name) values (1, boy, Amy), (2, girl, Ben)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章