Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def getJDBCResults(sql:String = "SHOW PROCESSLIST()") : List[Map[String,Any]] = {
- // classOf[com.mysql.jdbc.Driver]
- val conn = DriverManager.getConnection(s"${this.dsn}?user=${this.dbuser}&password=${this.dbpassword}")
- try {
- // Configure to be Read Only
- val statement = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)
- val rs = statement.executeQuery(sql)
- var results:List[Map[String,Any]] = List()
- // Iterate Over ResultSet
- while (rs.next) {
- val metaData = rs.getMetaData()
- var metaMap:Map[String, Any] = Map()
- println(Types.VARCHAR)
- for(index <- 1 to metaData.getColumnCount()) {
- println(metaData.getColumnType(index))
- val attribute = metaData.getColumnLabel(index)
- val colType = metaData.getColumnType(index)
- colType match {
- case Types.FLOAT | Types.REAL | Types.DOUBLE | Types.DECIMAL => {
- println("get float")
- metaMap += (attribute -> rs.getFloat(attribute))
- }
- case Types.INTEGER | Types.BIGINT | Types.SMALLINT => {
- println("getting int")
- metaMap += (attribute -> rs.getInt(attribute))
- }
- case _ => {
- metaMap += (attribute -> rs.getString(attribute))
- }
- }
- }
- // append results
- results :+= metaMap
- }
- return results
- }
- finally {
- conn.close
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement