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. <!-- 1.0 查询表结构是否存在 -->
  7. <select id="selectOne" parameterType="java.util.HashMap"
  8. resultType= "java.util.HashMap">
  9. select count(*) as num from ${tableName} where seq =
  10. #{seq};
  11. </select>
  12. <!-- 1.1 插入一条数据 -->
  13. <insert id="insertOne" parameterType="java.util.Map">
  14. insert into ${tableName}
  15. <foreach collection="content.keys" item="key" open="(" close=")"
  16. separator= ",">
  17. ${key}
  18. </foreach>
  19. values
  20. <foreach collection="content.values" item="value" open="("
  21. close= ")" separator= ",">
  22. #{value}
  23. </foreach>
  24. </insert>
  25. <!-- 1.2 更新记录 -->
  26. <update id="updateOne" parameterType="java.util.Map">
  27. UPDATE ${tableName} SET
  28. <foreach collection="content.keys" item="key" open="" close=""
  29. separator= ",">
  30. ${key} = #{content[${key}]}
  31. </foreach>
  32. where seq = #{content[seq]} and genius_uid <=
  33. #{content[genius_uid]};
  34. </update>
  35. <!-- 1.3 删除无效数据 -->
  36. <delete id="deleteOne" parameterType="java.util.Map">
  37. delete from ${tableName}
  38. where seq = #{content[seq]};
  39. </delete>
  40. </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; //新增

猜你喜欢

转载自blog.csdn.net/baidu_37366055/article/details/81029026
今日推荐