這是一個spring下利用jdbc連接SQL SERVER 2008 R2,並且利用Junit4做單元測試的合併例子。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;
import com.thinkgem.jeesite.common.utils.IdGen;
import com.thinkgem.jeesite.modules.mancs.gov.agri.demonarea.demoninfo.entity.DemonInfo;
import com.thinkgem.jeesite.modules.mancs.gov.agri.demonarea.demoninfo.service.DemonInfoService;
/** 聲明用的是Spring的測試類 **/
@RunWith(SpringJUnit4ClassRunner.class)
/** 聲明spring主配置文件位置,注意:以當前測試類的位置爲基準,有多個配置文件以字符數組聲明 **/
@ContextConfiguration(locations = { "classpath:spring-context.xml" })
/** 聲明事務回滾,要不測試一個方法數據就沒有了豈不很杯具,注意:插入數據時可注掉,不讓事務回滾 **/
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false)
@Service
@Transactional(readOnly = true)
public class GetDataFromOldDB {
@Autowired
private DemonInfoService demonInfoService;
@Test
public void test() {
String JDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String connectDB = "jdbc:sqlserver://10.2.146.120:1433; DatabaseName=AgriRegion";
try {
Class.forName(JDriver);
} catch (ClassNotFoundException e) {
System.out.println("加載數據庫引擎失敗");
}
System.out.println("數據庫驅動成功");
try {
String user = "sa";
String password = "abc.123456";
Connection con = DriverManager.getConnection(connectDB, user, password);
System.out.println("連接數據庫成功");
Statement stmt = con.createStatement();
ResultSet rs = stmt
.executeQuery("SELECT * FROM [AgriRegion].[dbo].[BaseUsers] t where t.UserName='山東省壽光市國家現代農業示範區'");// 返回SQL語句查詢結果集(集合)
// 循環輸出每一條記錄
while (rs.next()) {
// 輸出每個字段
System.out
.println(rs.getString("ID") + "\t" + rs.getString("UserName") + "\t" + rs.getString("Province")
+ rs.getString("City") + rs.getString("County") + rs.getString("Address"));
DemonInfo demonInfo = new DemonInfo();
demonInfo.setId(IdGen.uuid());
demonInfo.setReportName(rs.getString("UserName"));
demonInfo.setConfirmName(rs.getString("UserName"));
demonInfo.setAddress(rs.getString("Province") + rs.getString("City") + rs.getString("County")
+ rs.getString("Address"));
demonInfo.setDemonareaType(1);
demonInfo.setTelephone(rs.getString("Phone"));
demonInfo.setAreaNames(
rs.getString("Province") + "," + rs.getString("City") + "," + rs.getString("County"));
demonInfoService.saveDaseData4TestCreate(demonInfo);
}
System.out.println("讀取完畢");
stmt.close();// 關閉命令對象連接
con.close();// 關閉數據庫連接
} catch (SQLException e) {
e.printStackTrace();
System.out.print(e.getErrorCode());
}
}
}