依賴::::
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.4.0.jre8</version>
</dependency>
<dependency>
<groupId>org.scalikejdbc</groupId>
<artifactId>scalikejdbc-core_2.11</artifactId>
<version>2.5.0</version>
</dependency>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<scala.version>2.11.8</scala.version>
<spark.version>2.1.1</spark.version>
<hadoop.version>2.8.3</hadoop.version>
<encoding>UTF-8</encoding>
</properties>
<dependencies>
<!-- 導入scala的依賴 -->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
===============鏈接數據庫=======================
val url = "jdbc:sqlserver://ip;DatabaseName=數據庫名字"
//驅動名稱
val driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
//用戶名
val username = "root"
//密碼
val password = "root"
//初始化數據連接
var connection: Connection = null
try {
//注冊Driver
Class.forName(driver)
//得到連接
connection = DriverManager.getConnection(url, username, password)
println("連接上了!")
val statement = connection.createStatement //(創建狀態)
====================執行查詢SQL=========================
val rs_v_PO_AEAPV = statement.executeQuery(" select ID,name,age from Table")
得到一個結果集=>ResultSet
===================操作結果集ResultSet=====================
對結果集進行while循環 rs.next()
獲得數據表中的字段 :val YearMonth = rs.getInt("ID")
把字段添加到list集合中,
(對集合進行類操作case class tt( ID:Int,name:String))
=====================操作list集合存儲csv文件中==============
最重要的一點***********
創建打印字符流/輸出流
val writer = new PrintWriter("v_Line.csv")
再對list進行for循環
for (i <- list) {
writer.print(i.ID+",")
writer.print(i.name+",")//用print 加上“,”
writer.println(i.age) //最后用println
}
關閉流
writer .close