爲了提高代碼的執行效率,我們有時需要採用批量更新的更新方法。
直接上代碼,算是補充了mybatis的批量操作。
<update id="updateList" parameterType="java.util.List">
<foreach collection="list" item="l" separator=";">
UPDATE demo set name = #{l.name},age = #{l.age} where id = #{l.id}
</foreach>
</update>
在mybatis中取參數中值時,一般使用#{},避免使用${}。原因是SQL注入,有不瞭解的同學可以搜索下SQL操作中#和$的區別。如果非要使用${},並且在程序運行中有錯誤提示。可以查看服務配置數據源,是否開啓SQL防注入。
一般在數據源配置中會有這一項
#wall用以阻止SQL注入
filters: stat,wall,slf4j
在使用$報錯可以把wall配置項去掉,取消阻止SQL注入,也有其他解決方式,有興趣的同學可以搜索查詢下。
#wall用以阻止SQL注入
filters: stat,slf4j