标签:
1、海南室分项目里用的比较多的 js回调函数 callback 查看 积累 文件
2、定义:
import java.sql.{ResultSet, DriverManager}
import com.dtgroup.sparkmr.configuration.DBConnection
/**
* The package path is com.dtgroup.sparkmr.dao.
* Created by tommy duan on 2016/1/4.
*/
class SQLExecute private {
def executeQuery(sql:String,callback:ResultSetCallback):Unit = {
Class.forName(DBConnection.driver)
val connection = DriverManager.getConnection(DBConnection.url, DBConnection.username, DBConnection.password)
val statement = connection.createStatement()
val resultSet = statement.executeQuery(sql)
if (callback != null) {
callback.call(resultSet);
}
resultSet.close()
statement.close()
connection.close()
}
}
定义ResultSetCallback的接口
import java.sql.ResultSet
/**
* The package path is com.dtgroup.sparkmr.dao.
* Created by tommy duan on 2016/1/7.
*/
class ResultSetCallback {
def call(resultSet:ResultSet):Unit={}
}
调用:
SQLExecute.executeQuery("select distinct CellOID, NeighborCellOID from Tuning.Res_NeighborCell order by CellOID", new ResultSetCallback {
override def call(resultSet: ResultSet) = {
if (!resultSet.wasNull()) {
while (resultSet.next()) {
val cellId = resultSet.getInt("CellOID")
val neighborCellOID = resultSet.getInt("NeighborCellOID")
if (!neighborCellMap.contains(cellId)) {
neighborCellMap += (cellId -> List(neighborCellOID))
}
else {
neighborCellMap(cellId).::(neighborCellOID)
}
}
}
}
})
标签:
原文地址:http://www.cnblogs.com/xiaomuchong/p/5200308.html