zoukankan      html  css  js  c++  java
  • 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; //新增
  • 相关阅读:
    8*8LED点阵
    红外收发基础
    MQTT服务器(Win)
    安卓图片显示与网络访问
    Liunx C 编程之多线程与Socket
    JAVA开始(基础篇)
    C语言数据类型及变量整理
    EOS基础全家桶(十五)智能合约进阶2
    EOS基础全家桶(十四)智能合约进阶
    EOS基础全家桶(十三)智能合约基础
  • 原文地址:https://www.cnblogs.com/libin6505/p/10899619.html
Copyright © 2011-2022 走看看