dbUnit对mssqlserver自增长主键的处理

发表于:2007-07-01来源:作者:点击数: 标签:
package com.sourceware.test; /******************************************************************************* * Copyright (c) 2000, 2005 ZhongKe Corporation and others. * All rights reserved. This program and the accompanying materials * a
 

package com.sourceware.test;

/*******************************************************************************
 * Copyright (c) 2000, 2005 ZhongKe Corporation and others.
 * All rights reserved. This program and the aclearcase/" target="_blank" >ccompanying materials
 * are made available under the terms of the Common Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.source-ware.com/
 *
 * Contributors:
 *    ZhongKe Corporation - initial API and implementation
 *******************************************************************************/

import java.io.InputStream;
import java.sql.Connection;

import org.dbunit.DatabaseTestCase;
import org.dbunit.database.DatabaseConfig;
import org.dbunit.database.DatabaseConnection;
import org.dbunit.database.IDatabaseConnection;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSet;
import org.dbunit.operation.DatabaseOperation;

import com.sourceware.sms.platform.dao.SMSDAO;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.ApplicationContext;
import javax.sql.DataSource;

/**
 *
 * <p>标题: 消息服务</p>
 *
 * <p>描述: 消息服务平台</p>
 *
 * <p>版权: 宁波中科信息产业有限公司 Copyright (c) 2004</p>
 *
 * <p>公司: 宁波中科信息产业有限公司</p>
 *
 * @author 吴锋彬(woowind@sina.com)
 * @version 1.0
 */
public class BaseDatabaseTestCase
    extends DatabaseTestCase {
  static ApplicationContext appContext;
  private final static String batchID =
      "http://www.dbunit.org/features/batchedStatements";
  static DataSource ds;
 
  static {
    appContext =
        new ClassPathXmlApplicationContext("xml/sms-platform-context.xml");
     ds = (DataSource) appContext.getBean("dataSource");


  }


  protected void setUp() throws Exception {
    super.setUp();
  }

  protected void tearDown() throws Exception {
    super.tearDown();
    this.getConnection().close();
  }

  /* (non-Javadoc)
   * @see org.dbunit.DatabaseTestCase#getConnection()
   */
  protected IDatabaseConnection getConnection() throws Exception {

    IDatabaseConnection iDataBaseConnection = new DatabaseConnection(ds.
        getConnection());
    DatabaseConfig config = iDataBaseConnection.getConfig();

    //Enable Batched statements
    if (!config.getFeature(batchID)) {
      config.setFeature(batchID, true);
    }

    return iDataBaseConnection;

  }

  /* (non-Javadoc)
   * @see org.dbunit.DatabaseTestCase#getDataSet()
   */
  protected IDataSet getDataSet() throws Exception {
    InputStream is = this.getClass().getClassLoader().getResourceAsStream(
        "dataset/fmsDomain.xml");
    return new FlatXmlDataSet(is);
  }

  protected DatabaseOperation getSetUpOperation() throws Exception {
    return org.dbunit.ext.mssql.InsertIdentityOperation.INSERT;

  }

  protected DatabaseOperation getTearDownOperation() throws Exception {
    return  org.dbunit.ext.mssql.InsertIdentityOperation.CLEAN_INSERT;
  }

}


原文转自:http://www.ltesting.net