JDBC连接SQL SERVER 和JUNIT4单元测试

来源:互联网 发布:办公软件高级是几级 编辑:程序博客网 时间:2024/06/05 20:44

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