MySQL select、insert、update批量操作語句代碼實例
項目中經(jīng)常的需要使用批量操作語句對數(shù)據(jù)進行操作,使用批量語句的時候需要注意MySQL數(shù)據(jù)庫的條件限制,這里主要是數(shù)據(jù)的大小限制,這里對批量插入、批量查找及批量更新的基礎(chǔ)操作進行下簡單的匯總。
1、批量insert插入語句,如下的語句在測試環(huán)境嘗試過1W+的批量插入,具體數(shù)量跟表結(jié)構(gòu)及字段內(nèi)容有關(guān)系。
<insert id=”addTextPushList”paramerterType = “java.util.List”> INSERT INTO SYS_TEXT_PUSH( PUSH_ID, USER_UM_ACCOUNT, USER_NAME, SECTION, USER_MOBILE, PUSH_STATUS, PROMOTE_ID, CREATED_BY, CREATION_DATE, ENABLED_FLAG )values<foreach collection=”list” item = “item” separator=”,”> ( #{item.pushId}, #{item,userUmAccount}, #{item.userName}, #{item.section}, #{item.userMobile}, #{item.pushStatus}, #{item.promoteId}, #{item.createdBy}, #{item.creationDate}, #{item.enabledFlag})</foreach></insert>
2、批量select查詢語句
<select id = “getTextPromoteByIds” parameterType = “java.util.list” resultMap = “textPromoteMap”> SELECT * FROM SYS_TEXT_PROMOTE WHERE TEXT_PUSH_FLAG = 1 AND PROMOTE_ID IN <foreach collection=”list” item = “item” open=”(” separator=”,” close =”)”> #{item}</foreach></select>
3、批量update語句。
第一種情況是需更新的值相同:
<update id = “updatePushStatus” parameterType = “java.util.List”> update SYS_TEXT_PUSH SET PUSH_STATUS = 1, LAST_UPDATE_DATE = NOW() WHERE PUSH_ID IN<foreach collection=”list” item = “item” open=”(” separator=”,” close =”)”> #{item}</foreach></update>
第二種情況是需更新的值不同:
<update id = “updatePushStatus” parameterType = “java.util.List”><foreach collection=”list” item = “item” index = “index”> update SYS_TEXT_PUSH SET PUSH_STATUS = #{item.pushStatus}, LAST_UPDATE_DATE = NOW() WHERE PUSH_ID = #{item.pushId}</foreach></update>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
