Advertisement
Guest User

Untitled

a guest
Apr 17th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. require 'jdbc/mysql'
  2.  
  3. class JMysql
  4. Jdbc::MySQL.load_driver
  5. def initialize(host = nil, username = nil, password = nil, db = nil, port = nil)
  6. host ||= "localhost"
  7. port ||= 3306
  8.  
  9. address = "jdbc:mysql://#{host}:#{port}/#{db}?autoReconnect=true&useSSL=false"
  10. @connection = java.sql.DriverManager.getConnection(address, username, password)
  11. end
  12.  
  13. def close
  14. @connection.close
  15. end
  16.  
  17. def update(sql)
  18. @connection.create_statement.execute_update(sql)
  19. end
  20.  
  21. def old_query(sql)
  22. @connection.createStatement.executeQuery(sql)
  23. end
  24.  
  25. def query_hash(sql)
  26. resultSet = @connection.createStatement.executeQuery(sql)
  27. meta = resultSet.getMetaData
  28. column_count = meta.getColumnCount
  29. rows = []
  30. while resultSet.next
  31. res = {}
  32. (1..column_count).each do |i|
  33. name = meta.getColumnName(i)
  34. case meta.getColumnType(i)
  35. when java.sql.Types::INTEGER
  36. res[name] = resultSet.getInt(name)
  37. else
  38. res[name] = resultSet.getString(name)
  39. end
  40. end
  41. rows << res
  42. end
  43. rows
  44. end
  45.  
  46. def query(sql)
  47. resultSet = @connection.createStatement.executeQuery(sql)
  48. meta = resultSet.getMetaData
  49. column_count = meta.getColumnCount
  50. rows = []
  51. while resultSet.next
  52. res = []
  53. (1..column_count).each do |i|
  54. name = meta.getColumnName(i)
  55. case meta.getColumnType(i)
  56. when java.sql.Types::INTEGER
  57. res << resultSet.getInt(name)
  58. else
  59. res << resultSet.getString(name)
  60. end
  61. end
  62. rows << res
  63. end
  64. rows
  65. end
  66. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement