Advertisement
Guest User

Untitled

a guest
Aug 30th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. import $ivy.`mysql:mysql-connector-java:5.1.39`
  2. import java.sql.{Connection, DriverManager, ResultSet}
  3. import java.util.Properties
  4.  
  5.  
  6. case class DBConfiguration(database: String,
  7. db: String,
  8. schema: String,
  9. tableName: String,
  10. hostname: String,
  11. portNo: Int,
  12. userName: String,
  13. password: String)
  14.  
  15. def getJDBCUrl(conf: DBConfiguration): String = {
  16. val jdbcUrl = s"jdbc:${conf.database}://${conf.hostname}:${conf.portNo}/${conf.db}"
  17. if (conf.database.toLowerCase == "mysql")
  18. jdbcUrl + "?zeroDateTimeBehavior=convertToNull"
  19. else jdbcUrl
  20. }
  21.  
  22.  
  23. def getConnection(conf: DBConfiguration): Connection = {
  24. val connectionProps = new Properties()
  25. connectionProps.put("user", conf.userName)
  26. connectionProps.put("password", conf.password)
  27. val connectionString = getJDBCUrl(conf)
  28. Class.forName("com.mysql.jdbc.Driver")
  29. DriverManager.getConnection(connectionString, connectionProps)
  30. }
  31.  
  32. val dbConf = DBConfiguration("mysql","db-name","","","mysql-hostname",3306,"username","password")
  33. val conn:Connection = getConnection(dbConf)
  34. val stmt = conn.createStatement
  35. val query = "select * from table"
  36.  
  37. val rs = stmt.executeQuery(query)
  38. val rsSetMetaData = rs.getMetaData();
  39. val columnCount = rsSetMetaData.getColumnCount();
  40.  
  41. while (rs.next()) {
  42. var strToPrint = ""
  43. (1 to columnCount).foreach{ i =>
  44. val obj = rs.getObject(i)
  45. val objStr = if(obj != null) {obj.toString} else "NULL"
  46. strToPrint += s"${rsSetMetaData.getColumnLabel(i)}:${objStr}\t"
  47. }
  48. println(strToPrint)
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement