zoukankan      html  css  js  c++  java
  • mybatis 遍历字段和字段对应的值循环插入

    java代码:

    /**
    * 插入单条数据
    * @param request
    * @param response
    * @param id
    * @param str
    * @return
    * @throws Exception
    */
    @RequestMapping(value="insertData")
    @ResponseBody
    public Map<String,Object> insertData(HttpServletRequest request,
    HttpServletResponse response,Integer id,String str) throws Exception{
    String key=null;
    String value;
    String tableName=null;
    BusinessDesc businessDesc = businessDescService.queryById(id);
    //取出所有字段
    List<ColumnRule> columnnlist = columnRuleService.findByBusinessId(id);
    List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
    List<String> list2 = new ArrayList<String>();
    Map<String,Object> maps=new HashMap<String,Object>();
    JSONObject jsonObject = new JSONObject(str);
    Iterator iterator = jsonObject.keys();
    while(iterator.hasNext()){
    Map<String,Object> map=new HashMap<String,Object>();
    key = (String) iterator.next();
    value = jsonObject.getString(key);
    for(ColumnRule rule:columnnlist){
    if(rule.getName().equals(key)){
    if(rule.getFieldType().contains("int")){
    if(value!=null && !"".equals(value)){
    map.put("value", Integer.parseInt(value));
    }else{
    map.put("value",0);
    }
    }else{
    map.put("value", value);
    }
    }
    }
    map.put("key", key);
    list.add(map);
    }
    if(businessDesc!=null){
    tableName=businessDesc.getTablename();
    }
    maps.put("list", list);
    maps.put("table", tableName);
    businessDescService.insertData(maps);
    return maps;
    }
    /**
    * 修改单条数据
    * @param request
    * @param response
    * @param dataId
    * @param str
    * @param id
    * @return
    * @throws Exception
    */
    @RequestMapping(value="updateData")
    @ResponseBody
    public Map<String,Object> updateData(HttpServletRequest request,
    HttpServletResponse response,Integer dataId,String str,Integer id) throws Exception{
    String tableName=null;
    String key=null;
    String value;
    Map<String,Object> maps=new HashMap<String,Object>();
    List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
    //获取表名
    BusinessDesc businessDesc = businessDescService.queryById(dataId);
    //取出所有字段
    List<ColumnRule> columnnlist = columnRuleService.findByBusinessId(dataId);
    JSONObject jsonObject = new JSONObject(str);
    Iterator iterator = jsonObject.keys();
    while(iterator.hasNext()){
    Map<String,Object> map=new HashMap<String,Object>();
    key = (String) iterator.next();
    value = jsonObject.getString(key);
    for(ColumnRule rule:columnnlist){
    if(rule.getName().equals(key)){
    if(rule.getFieldType().contains("int")){
    if(value!=null && !"".equals(value)){
    map.put("value", Integer.parseInt(value));
    }else{
    map.put("value", 0);
    }
    }else{
    if(value!=null &&!"".equals(value)){
    if(!key.equals("id")){
    map.put("value", value);
    }
    }
    }
    }
    }
    map.put("key", key);
    if(key.equals("id")){
    map.put("value", id);
    }
    list.add(map);
    }
    if(businessDesc!=null){
    tableName=businessDesc.getTablename();
    }
    maps.put("list", list);
    maps.put("table", tableName);
    maps.put("id", id);
    businessDescService.updateData(maps);
    return maps;
    }

    隐射文件:

    <insert id="insertData" parameterType="java.util.Map">
    insert into ${table}
    (<foreach collection="list" item="item" index="index" separator=",">${item.key}</foreach>)
    values
    (
    <foreach collection="list" item="subitem" index="index" separator=",">
    #{subitem.value}
    </foreach>
    )
    </insert>
    <update id="updateData" parameterType="java.util.Map">

    update
    ${table}
    set
    <foreach collection="list" item="item" index="index" separator=",">${item.key}=#{item.value}</foreach>
    where id=#{id}
    </update>

    遍历list

    dao类:List<Garage> findRecommendGarageById(List<String> list);

    xml隐射文件:

    <select id="findRecommendGarageById" resultMap="BaseResultMap" resultType="java.util.List">
    select <include refid="Base_Column_List" /> from s_garage
    <where>
    id in
    <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
    #{item}
    </foreach>
    </where>
    </select>

  • 相关阅读:
    [stm32] Systick
    [stm32] GPIO及最小框架
    51单片机-PC数据传输 温度 距离 监控系统设计
    [游戏学习29] Win32 图像处理1
    [51单片机] 串口通讯 简单通信
    [汇编] 闰年计算
    Java常用工具类之ArrayUtil
    常用工具类系列之DateUtil
    SpringBoot 获取当前登录用户IP
    Spring data jpa Specification查询关于日期的范围搜索
  • 原文地址:https://www.cnblogs.com/flywang/p/6814311.html
Copyright © 2011-2022 走看看