mybatis如何遍歷Map的key和value【增刪改查】


 

轉:

mybatis如何遍歷Map的key和value

1.sql.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <!--namespace必須是接口的全類名 -->
  5. <mapper namespace="com.genius">
  6.  
  7. <!-- 1.0 查詢表結構是否存在 -->
  8. <select id="selectOne" parameterType="java.util.HashMap"
  9. resultType="java.util.HashMap">
  10. select count(*) as num from ${tableName} where seq =
  11. #{seq};
  12. </select>
  13.  
  14. <!-- 1.1 插入一條數據 -->
  15. <insert id="insertOne" parameterType="java.util.Map">
  16. insert into ${tableName}
  17. <foreach collection="content.keys" item="key" open="(" close=")"
  18. separator=",">
  19. ${key}
  20. </foreach>
  21. values
  22. <foreach collection="content.values" item="value" open="("
  23. close=")" separator=",">
  24. #{value}
  25. </foreach>
  26. </insert>
  27.  
  28. <!-- 1.2 更新記錄 -->
  29. <update id="updateOne" parameterType="java.util.Map">
  30. UPDATE ${tableName} SET
  31. <foreach collection="content.keys" item="key" open="" close=""
  32. separator=",">
  33. ${key} = #{content[${key}]}
  34. </foreach>
  35. where seq = #{content[seq]} and genius_uid <=
  36. #{content[genius_uid]};
  37. </update>
  38.  
  39. <!-- 1.3 刪除無效數據 -->
  40. <delete id="deleteOne" parameterType="java.util.Map">
  41. delete from ${tableName}
  42. where seq = #{content[seq]};
  43. </delete>
  44.  
  45. </mapper>

2.java代碼:

  1. SqlSession session = MyBatisConnectionFactory.getSession( "pg");
  2. HashMap<String, Object> params = new HashMap<>(); //傳入的參數
  3. params.put( "content", tableContent);
  4. params.put( "tableName", tableName);
  5. params.put( "seq", seq);
  6. int flag = session.delete("deleteOne", params); //刪除記錄
  7. HashMap<String, Object> map = session.selectOne( "selectOne", params); //查詢記錄是否存在
  8. flag = session.update( "updateOne", params) > 0 ? true : false; //更新
  9. flag = session.insert( "insertOne", params) > 0 ? true : false; //新增


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM