content: package com.alimama.mdrill.jdbc;
  
  import java.io.StringReader;
  import java.util.Arrays;
  import java.util.List;
  
  import net.sf.jsqlparser.JSQLParserException;
  import net.sf.jsqlparser.expression.operators.relational.ExpressionList;
  import net.sf.jsqlparser.parser.CCJSqlParserManager;
  import net.sf.jsqlparser.schema.Column;
  import net.sf.jsqlparser.statement.insert.Insert;
  import net.sf.jsqlparser.expression.*;
  
  import com.alimama.mdrill.json.JSONArray;
  import com.alimama.mdrill.json.JSONException;
  import com.alimama.mdrill.json.JSONObject;
  
  public class InsertParser {
  	private String sql;
  
  	public String tablename;
  	public String[] fl;
  	public String jsons;
  
  	
  	public static void main(String[] args) throws JSQLParserException, JSONException {
  		
  		InsertParser p=new InsertParser();
  		p.parse("INSERT INTO table_name (列1, 列2) VALUES ('111', '22') ");
  		System.out.println(p.toString());
  		
  	}
  	
  	
  	
  	public void parse(String sql) throws JSQLParserException, JSONException
  	{
  		this.sql=sql;
  
          CCJSqlParserManager parserManager = new CCJSqlParserManager();
  		 Insert insert = (Insert) parserManager.parse(new StringReader(sql));
           this.tablename=insert.getTable().getName();
           
           fl=new String[insert.getColumns().size()];
           for(int i=0;i<fl.length;i++)
           {
          	 fl[i]=((Column) insert.getColumns().get(i)).getColumnName();
           }
           
           
   		ExpressionList explist=((ExpressionList) insert.getItemsList());
  	 		JSONObject item=new JSONObject();
  
  	 		List expressions=explist.getExpressions();
   		for(int i=0;i<expressions.size();i++)
   		{
   			
   			Object val=expressions.get(i);
   			if(val instanceof StringValue)
   			{
   				StringValue vv=(StringValue)val;
   				item.put(fl[i], String.valueOf(vv.getValue()));
   			}
   			if(val instanceof LongValue)
   			{
   				LongValue vv=(LongValue)val;
   				item.put(fl[i], String.valueOf(vv.getValue()));
   			}
   			
   			if(val instanceof DoubleValue)
   			{
   				DoubleValue vv=(DoubleValue)val;
   				item.put(fl[i], String.valueOf(vv.getValue()));
   			}
   		}
  		
  		
          JSONArray list=new JSONArray();
          list.put(item);
  
          this.jsons=list.toString();
  	
  	}
  	
  	@Override
  	public String toString() {
  		return "InsertParser [sql=" + sql + ", tablename=" + tablename
  				+ ", fl=" + Arrays.toString(fl) + ", jsons=" + jsons + "]";
  	}
  	
  	
  }
  