Advertisement
mitrakov

Working with Berkeley DB

Feb 18th, 2019
336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.34 KB | None | 0 0
  1. import com.sleepycat.je.*;
  2. import java.io.*;
  3.  
  4.  
  5. // open environment
  6. EnvironmentConfig envCfg = new EnvironmentConfig();
  7. envCfg.setAllowCreate(true);
  8. File f = new File(String.format("%s/data", System.getProperty("user.dir")));
  9. f.mkdir();
  10. Environment env = new Environment(f, envCfg);
  11.  
  12. // open database
  13. DatabaseConfig dbCfg = new DatabaseConfig();
  14. dbCfg.setAllowCreate(true);
  15. Database db = env.openDatabase(null, dbName, dbCfg);
  16.  
  17. // key, value placeholders
  18. DatabaseEntry key = new DatabaseEntry();
  19. DatabaseEntry value = new DatabaseEntry();
  20.  
  21. switch (action) {
  22.     case "list": {
  23.         Cursor cursor = db.openCursor(null, null);
  24.         while (cursor.getNext(key, value, LockMode.DEFAULT) == OperationStatus.SUCCESS)
  25.             System.out.println(new String(key.getData(), "UTF-8") + " -> " + new String(value.getData(), "UTF-8"));
  26.         cursor.close();
  27.         break;
  28.     }
  29.     case "insert": {
  30.         key.setData(keyStr.getBytes("UTF-8"));
  31.         value.setData(valueStr).getBytes("UTF-8"));
  32.         db.put(null, key, value);
  33.         break;
  34.     }
  35.     case "remove": {
  36.         key.setData(keyStr.getBytes("UTF-8"));
  37.         db.delete(null, key);
  38.         break;
  39.     }
  40.     case "get": {
  41.         key.setData(keyStr.getBytes("UTF-8"));
  42.         db.get(null, key, value, LockMode.DEFAULT);
  43.         System.out.println(value.getData() != null ? new String(value.getData(), "UTF-8") : "NULL");
  44.         break;
  45.     }
  46.     default:
  47. }
  48.  
  49. db.close();
  50. env.close();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement