Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'jdbc/mysql'
- class JMysql
- Jdbc::MySQL.load_driver
- def initialize(host = nil, username = nil, password = nil, db = nil, port = nil)
- host ||= "localhost"
- port ||= 3306
- address = "jdbc:mysql://#{host}:#{port}/#{db}?autoReconnect=true&useSSL=false"
- @connection = java.sql.DriverManager.getConnection(address, username, password)
- end
- def close
- @connection.close
- end
- def update(sql)
- @connection.create_statement.execute_update(sql)
- end
- def old_query(sql)
- @connection.createStatement.executeQuery(sql)
- end
- def query_hash(sql)
- resultSet = @connection.createStatement.executeQuery(sql)
- meta = resultSet.getMetaData
- column_count = meta.getColumnCount
- rows = []
- while resultSet.next
- res = {}
- (1..column_count).each do |i|
- name = meta.getColumnName(i)
- case meta.getColumnType(i)
- when java.sql.Types::INTEGER
- res[name] = resultSet.getInt(name)
- else
- res[name] = resultSet.getString(name)
- end
- end
- rows << res
- end
- rows
- end
- def query(sql)
- resultSet = @connection.createStatement.executeQuery(sql)
- meta = resultSet.getMetaData
- column_count = meta.getColumnCount
- rows = []
- while resultSet.next
- res = []
- (1..column_count).each do |i|
- name = meta.getColumnName(i)
- case meta.getColumnType(i)
- when java.sql.Types::INTEGER
- res << resultSet.getInt(name)
- else
- res << resultSet.getString(name)
- end
- end
- rows << res
- end
- rows
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement