package xdata.dao;
/**
* XData 数据访问架构 - 数据访问器<br>
* <p>数据访问器负责与真正的数据库系统交互,执行命令和查询并得到结果。
* 每一个XDataAccessor的实现对应一种数据库系统。</p>
*
* <p>XDataAccessor能够接受两类操作:命令和查询。这两者之间的唯一区别是
* 命令不返回行集,而查询返回。对于两者XDataAccessor都允许批执行。</p>
*
* <p>XDataAccessor在执行命令与查询时将截获所有数据库操作时产生的异常,
* 而将调用信息保存在IXDataCallResult中,通过检索IXDataCallResult可以
* 获得相关信息。</p>
*
* @author JoJo
* @version 1.0
*/
public interface IXDataAccessor {
/**
* 执行一个命令
* @param command IXDataStatement
* @return IXDataCallResult
*/
public IXDataCallResult doCommand(IXDataStatement command);
/**
* 执行一个命令序列
* @param commands IXDataStatement[]
* @param stopOnError boolean
* @return IXDataCallResult[]
*/
public IXDataCallResult[] doCommand(IXDataStatement[] commands,
boolean stopOnError);
/**
* 执行一个查询
* @param query IXDataStatement
* @return IXDataCallResult
*/
public IXDataCallResult doQuery(IXDataStatement query);
/**
* 执行一个查询序列
* @param querys IXDataStatement[]
* @param stopOnError boolean
* @return IXDataCallResult[]
*/
public IXDataCallResult[] doQuery(IXDataStatement[] querys,
boolean stopOnError);
/**
* 获取XData连接器
* @return IXDataLink
*/
public IXDataLink getOwnerLink();
}