Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.51 KB | None | 0 0
  1. package com.uzsi.actionimplementation;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7.  
  8. import org.apache.commons.lang.StringEscapeUtils;
  9.  
  10. import com.uzsi.actioninterface.IActionGeneralUpdate;
  11.  
  12. public class ActionGeneralUpdate implements IActionGeneralUpdate {
  13.    
  14.     private String table;
  15.     private List<Map<String, Object>> fields = new ArrayList<Map<String, Object>>();
  16.     private List<Map<String, Object>> keys = new ArrayList<Map<String, Object>>();
  17.     private String _ = "`"; // MySQL
  18.     private List<Integer> insertIds = new ArrayList<Integer>();
  19.    
  20.  
  21.     @Override
  22.     public void addKey(String key, String operator, Object value) {
  23.         Map<String, Object> map = new HashMap<String, Object>();
  24.         map.put("key", key);
  25.         map.put("operator", operator);
  26.         map.put("value", value);
  27.         keys.add(map);
  28.     }
  29.  
  30.     @Override
  31.     public void addField(String field, Object value) {
  32.         Map<String, Object> map = new HashMap<String, Object>();
  33.         map.put("field", field);
  34.         map.put("value", value);
  35.         fields.add(map);
  36.     }
  37.  
  38.     @Override
  39.     public List<Integer> getInsertIds() {
  40.         return insertIds;
  41.     }
  42.  
  43.     @Override
  44.     public void setInsertIds(List<Integer> insertIds) {
  45.         this.insertIds=insertIds;
  46.     }
  47.  
  48.     @Override
  49.     public eActionType getActionType() {
  50.         return eActionType.UPDATE;
  51.     }
  52.  
  53.     @Override
  54.     public String getQueryString() {
  55.         // TODO
  56.         String q = "UPDATE ";
  57.         q += " " + _+table+_ + " SET ";
  58.         for (int i=0;i<fields.size();++i) {
  59.             String field = (String) fields.get(i).get("field");
  60.             Object value = fields.get(i).get("value");
  61.             q += " " + _ + field + _ + " = ";
  62.             if (value instanceof String)
  63.                 q += " '" + StringEscapeUtils.escapeSql((String) value) + "' ";
  64.             else
  65.                 q += " " + value + " ";
  66.             q += ((i+1<keys.size()) ? ", " : " ");
  67.         }
  68.         q += " WHERE ";
  69.        
  70.         for (int i=0;i<keys.size();++i) {
  71.             Map<String, Object> map = keys.get(i);
  72.             String key = (String) map.get("key");
  73.             String operator = (String) map.get("operator");
  74.             Object value = map.get("value");
  75.             q += " " + _ + key + _ + operator;
  76.             if (value instanceof String)
  77.                 q += "'" + StringEscapeUtils.escapeSql((String) value) + "'";
  78.             else if (value instanceof java.util.Date)
  79.                 q += " '" + new java.sql.Timestamp(((java.util.Date) value).getTime()) + "' ";
  80.             else // TODO test and more
  81.                 q += map.get("value");
  82.            
  83.             if ((i+1) < keys.size())
  84.                 q += " AND ";
  85.         }
  86.        
  87.         q += ";";
  88.         return q;
  89.        
  90.     }
  91.  
  92.     @Override
  93.     public void setTable(String table) {
  94.         this.table = table;
  95.     }
  96.  
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement