Advertisement
Guest User

Untitled

a guest
Jul 24th, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. import java.sql. *;
  2. static final String JDBC_DRIVER = "org.h2.Driver";
  3. static final String DB_URL = "jdbc:h2:~/myDB";
  4. static final String USER = "test";
  5. static final String PASS = "test";
  6. static final Connection conn = null;
  7. static final Statement stmt = null;
  8.  
  9. public class DataBaseManager {
  10.  
  11. public void insertIntoDB(String id1val, String id2val, Boolean raw_yn_val, ...,...) {
  12.  
  13. try {
  14. Class.forName(JDBC_DRIVER);
  15. conn = DriverManager.getConnection(DB_URL, USER, PASS);
  16. myStatement = "INSERT INTO PRODUCTS VALUES(?,?,?,..,...)";
  17. stmt = conn.prepareStatement(myStatement);
  18. stmt.setString(1, id1val);
  19. stmt.setString(2, id2val);
  20. stmt.setBoolean(3, raw_yn_val);
  21. stmt.setString(4,....);
  22. // Continue up to 55
  23. stmt.executeUpdate();
  24. }
  25.  
  26. [catch&finally blocks]
  27. }
  28. }
  29.  
  30. INSERT INTO PRODUCTS SELECT * FROM(
  31. select 0, 'id1' union // <--- How does this fit into Prepared Statement?
  32. select 1, 'id2' union
  33. select 2, 'raw_yn' union
  34. ) x where not exists(SELECT * FROM PRODUCTS); // <--- Ensures only works when empty
  35.  
  36. try {
  37. Class.forName(JDBC_DRIVER);
  38. conn = DriverManager.getConnection(DB_URL, USER, PASS);
  39. statement = conn.createStatement();
  40.  
  41. String sql = "SELECT COUNT(*) AS n FROM PROPERTIES WHERE id1='" + id1 + "' AND id2='" + id2 + "' AND raw_yn='true'";
  42. rs = statement.executeQuery(sql);
  43. rs.next();
  44. if (rs.getInt("n") == 0) {
  45. Class.forName(JDBC_DRIVER);
  46. conn = DriverManager.getConnection(DB_URL, USER, PASS);
  47. myStatement = "INSERT INTO PROPERTIES VALUES(?,?,?,...)";
  48. stmt = conn.prepareStatement(myStatement);
  49. stmt.setString(1, id1);
  50. stmt.setString(2, id2);
  51. stmt.setBoolean(3, raw_yn);
  52. stmt.executeUpdate();
  53. } else {
  54. return; // <-- Takes 5x longer to go through ???
  55. }
  56.  
  57. }
  58.  
  59. [catch & finally blocks]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement