JDBC连接SQL SERVER 和JUNIT4单元测试

这是一个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());
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值