package org.jplus.hyb.database; import java.util.Arrays; import java.util.List; /** * 此类用来描述一行数据库查询结果 * 以及数据的读取 * <p>此类应该与SoEasy类配合使用。 * <p>此类一般不自己构造,从SoEasy中获得。 * <p>用于在使用SoEasy后分析和取得其查询数据 * @author hyberbin * @date 2012/6/8 */ public class EasyData { /** 结果集的字段名 */ private List columnName; /** 结果集的数据 */ private Object[] rowData; /** * 空构造方法 */ public EasyData() { } /** * 带一个参的构造方法只用于存放数据 * @param rowData 一行数据 */ public EasyData(Object[] rowData) { this.rowData = rowData; } /** * 带两个参数的构造方法 * @param rowData 一行数据 * @param columnName 字段信息 */ public EasyData(Object[] rowData, String[] columnName) { this.rowData = rowData; this.columnName = Arrays.asList(columnName); } /** * 带两个参数的构造方法 * @param rowData 一行数据 * @param columnName 字段信息 */ public EasyData(Object[] rowData, List columnName) { this.rowData = rowData; this.columnName = columnName; } /** * 返回查询结果 * @return 结果数组 */ public Object[] getRowData() { return rowData; } /** * 设置字段信息 * @param columnName 字段信息 */ public void setColumn(String[] columnName) { this.columnName = Arrays.asList(columnName); } /** * 根据字段名获得一个数据 * <p>Ex: * <p>SoEasy soEasy=new SoEasy();//操作完后自动关闭数据库。 * <p>soEasy.addParmeter(2); * <strong><p>LinkedList<EasyData> list=soEasy.getList("select * from * news,newstype where newtype.id=news.type and news.type=?");</strong> * <p>EasyData data=list.get(0);//取第0条数据 * <p>int id=data.get("id");//获得这条数据的id信息 * <p>String content=data.get("content");//获得这条数据的内容信息 * <p>…… * @param Name 字段名 * @return */ public Object get(String Name) { return rowData[columnName.indexOf(Name)]; } /** * 根据索引返回一个数据 * <p>Ex: * <p>SoEasy soEasy=new SoEasy();//操作完后自动关闭数据库。 * <p>soEasy.addParmeter(2); * <strong><p>LinkedList<EasyData> list=soEasy.getList("select * from * news,newstype where newtype.id=news.type and news.type=?");</strong> * <p>EasyData data=list.get(0);//取第0条数据 * <p>int id=data.get(0);//获得这条数据的id信息 * <p>String content=data.get(1);//获得这条数据的内容信息 * <p>…… * @param index 索引 * @return */ public Object get(int index) { return rowData[index]; } /** * 按顺序输出字段信息 * <p>此方法供测试的时候用 * <p>用于在不知道查询结果的字段信息时输出一下字段信息 */ public void printColumn() { System.out.println(columnName); } }