Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Creative commons Attribution-NonCommercial license. http://creativecommons.org/licenses/by-nc/2.5/au/deed.en_GB NO WARRANTY IS GIVEN OR IMPLIED, USE AT YOUR OWN RISK.
  
  package base.query;
  
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
 
 
 import base.Command;
 import base.json.Json;
Insert data loaded from a JSON file into a database table. JSON file is expected to be in the format output by the SqlQuery command.
 
 public class SqlImport extends Command {
 
 	private DataSource ds;
 	private String table;
 	private InputStream is;

Unused constructor for the ServiceLoader
 
 	public SqlImport() {
 	}

Insert data loaded from a JSON file into a database table. JSON file is expected to be in the format output by the SqlQuery command.

Parameters:
ds
Throws:
java.sql.SQLException
 
 	public SqlImport(DataSource dsString tableInputStream isthrows SQLException {
 		this. = ds;
 		this. = table;
 		this. = is;
 	}
 
 	public String getJsonParameters() {
 		return "\"table\":\"" + Json.escape() + "\"";
 	}
 
 	@SuppressWarnings("unchecked")
 	public void execute() throws IOException {
 		Connection c = null;
 
 		try {
 			c = .getConnection();
 			c.setAutoCommit(false);
 
 			JsonParser parser = new JsonParser(new BufferedReader(new InputStreamReader("UTF-8")));
 			Object items = parser.parse();
 
 			if(!(items instanceof List<?>)) {
 				throw new IOException("Import file must contain a JSON list");
 			}
 			List<ObjectitemList = (List<Object>)(List<?>)items;
 			if(itemList.size() == 0) {
 				return;
 			}
 
 			if(!(itemList.get(0) instanceof Map<?, ?>)) {
 				throw new IOException("Import file must contain a JSON list of maps");
 			}
 			if(((Map<StringObject>)(Map<?, ?>)itemList.get(0)).size() == 0) {
 				return;
 			}
 
 			executeImport(c, (List<Map<StringObject>>)(List<?>)itemList);
 
 			c.commit();
 			c.close();
 		} catch (SQLException e) {
 			if(c != null) {
 				try { c.rollback(); } catch (SQLException e1) { }
 				try { c.close(); } catch (SQLException e1) { }
 			}
 			throw new IOException(e);
 		}
 
 	}

Return each setting in the form of key value pairs.
	public void executeImport(Connection cList<Map<StringObject>> itemsthrows SQLException {
		PreparedStatement s = null;
		try {
			s = c.prepareStatement("delete from " + );
			s.close();
			for(Map<StringObjectrow : items) {
				String sql = "insert into " +  + " (";
				Set<Stringkeys = row.keySet();
				for(String key : keys) {
					sql += key + ",";
				}
				sql = sql.substring(0, sql.length()-1);
				sql += ") ";
				sql += " values(";
				for(int i = 0; i < row.size(); i++) {
					sql += "?,";
				}
				sql = sql.substring(0, sql.length()-1);
				sql += ")";
				s = c.prepareStatement(sql);
				int i = 1;
				for(String key : keys) {
					s.setObject(i++, row.get(key));
				}
				s.close();
				s = null;
			}
finally {
			if(s != null) { try { s.close(); } catch(Exception f) {} }
		}
	}
New to GrepCode? Check out our FAQ X