这是一个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());
}
}
}