• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-17
  • 语言: 其他
  • 标签: 源码  工具  

资源简介

NULL 博文链接:https://mshijie.iteye.com/blog/524744

资源截图

代码片段和文件信息

import java.io.IOException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.beanutils.BeanUtilsBean;
import org.apache.commons.beanutils.ConvertUtilsBean;
import org.apache.commons.beanutils.converters.DateConverter;
import org.dbunit.dataset.Column;
import org.dbunit.dataset.DataSetException;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.ITable;
import org.dbunit.dataset.xml.FlatxmlDataSet;
import org.springframework.core.io.ClassPathResource;

/**
 * 
 * 从dbunit的FlatxmlDataSet格式的xml文件创建bean
 * 
 * @author maoshijie.pt
 * 
 */
public class DBUnitUtils {

/**
 * 从dbunit的flatxmlDataSet中,创建多个bean
 * 
 * @param 
 * @param file
 * @param clazz
 * @param ignoredProps
 * @return
 * @throws Exception
 */
public static  List createBeans(String file String tableName
Class clazz) throws Exception {
BeanUtilsBean beanUtils = createBeanUtils();
Listject>> propsList = createProps(file tableName);
List beans = new ArrayList();
for (Mapject> props : propsList) {
T bean = clazz.newInstance();
beanUtils.populate(bean props);
beans.add(bean);
}
return beans;
}

/**
 * 从dbunit的flatxmlDataSet中,创建bean
 * 
 * @param 
 * @param file
 * @param clazz
 * @param ignoredProps
 * @return
 * @throws Exception
 */
public static  T createBean(String file String tableName Class clazz)
throws Exception {
BeanUtilsBean beanUtils = createBeanUtils();
Listject>> propsList = createProps(file tableName);
T bean = clazz.newInstance();
beanUtils.populate(bean propsList.get(0));
return bean;
}

private static Listject>> createProps(String file
String tableName) throws IOException DataSetException {

Listject>> propsList = new ArrayListject>>();

IDataSet expected = new FlatxmlDataSet(Thread.currentThread()
.getContextClassLoader().getResourceAsStream(file));
ITable table = expected.getTable(tableName);
Column[] columns = table.getTablemetaData().getColumns();

for (int i = 0; i < table.getRowCount(); i++) {
Mapject> props = new HashMapject>();
for (Column c : columns) {
object value = table.getValue(i c.getColumnName());
String propName = underlineToCamel(c.getColumnName());
props.put(propName value);
}
propsList.add(props);
}
return propsList;
}

private static String underlineToCamel(String str) {
String pattern[] = str.split(“_“);
StringBuilder builder = new StringBuilder();
for (int i = 0; i < pattern.length; i++) {
if (i == 0) {
builder.append(pattern[i]);
} else {
builder.append(pattern[i].substring(0 1).toUpperCase());
builder.append(pattern[i].substring(1));
}
}
return builder.

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3649  2009-11-24 19:40  DBUnitUtils.java

----------- ---------  ---------- -----  ----

                 3649                    1


评论

共有 条评论