Advertisement
Guest User

Untitled

a guest
Jan 20th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. def getJDBCResults(sql:String = "SHOW PROCESSLIST()") : List[Map[String,Any]] = {
  2. // classOf[com.mysql.jdbc.Driver]
  3. val conn = DriverManager.getConnection(s"${this.dsn}?user=${this.dbuser}&password=${this.dbpassword}")
  4.  
  5. try {
  6.  
  7. // Configure to be Read Only
  8. val statement = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)
  9. val rs = statement.executeQuery(sql)
  10.  
  11. var results:List[Map[String,Any]] = List()
  12.  
  13. // Iterate Over ResultSet
  14. while (rs.next) {
  15.  
  16. val metaData = rs.getMetaData()
  17. var metaMap:Map[String, Any] = Map()
  18. println(Types.VARCHAR)
  19. for(index <- 1 to metaData.getColumnCount()) {
  20. println(metaData.getColumnType(index))
  21.  
  22. val attribute = metaData.getColumnLabel(index)
  23. val colType = metaData.getColumnType(index)
  24.  
  25.  
  26. colType match {
  27.  
  28. case Types.FLOAT | Types.REAL | Types.DOUBLE | Types.DECIMAL => {
  29. println("get float")
  30. metaMap += (attribute -> rs.getFloat(attribute))
  31. }
  32.  
  33. case Types.INTEGER | Types.BIGINT | Types.SMALLINT => {
  34. println("getting int")
  35. metaMap += (attribute -> rs.getInt(attribute))
  36. }
  37.  
  38. case _ => {
  39. metaMap += (attribute -> rs.getString(attribute))
  40. }
  41. }
  42.  
  43.  
  44. }
  45.  
  46. // append results
  47. results :+= metaMap
  48. }
  49.  
  50. return results
  51. }
  52.  
  53. finally {
  54. conn.close
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement