开放接口说明RxDatabase接口


interface RxDatabase 用于操作Database Host上的数据库,主要为保存抓取的数据到预先定义的表中

函数定义:

public int insert(String sql, Object[] params) throws RxCrawlerException;

根据插入sql和params插入一条记录, 返回值为插入的记录的自增列主键值,如果表的主键不是自增列则返回-1。

public int[] batchInsert(String sql, Object[][] params) throws RxCrawlerException;

根据插入sql和params插入多条记录到数据库中,参数值params为2维数组。返回值为数值数组, 为插入的记录的自增列主键值,如果表的主键不是自增列则返回-1。

public int delete(String sql, Object[] params) throws RxCrawlerException;

根据sql和params从数据库中删除记录

public int update(String sql, Object[] params) throws RxCrawlerException;

根据sql和params更新数据库中的记录, 返回值为更新的数据数量。

public int[] batchUpdate(String sql, Object[][] params) throws RxCrawlerException;

根据更新sql和params更新多条记录到数据库中,参数值params为2维数组。返回值为数值数组。

public <T> List<T> query(String sql, Class<T> clazz, Object[] params) throws RxCrawlerException;

根据查询sql和params得到数据库中的记录, clazz为自定义的数据bean类型函数会自动基于返回的数据生成bean实例 当数据库字段为bigint且unsigned(无符号)时,entity类该属性定义为java.math.BigInteger,否则可以定义为Long 下图为详细的类型映射,请参考

public void createTableByTemplate(String tableName, String templateTableName) throws RxCrawlerException;

用于从模板表中动态在数据库中创建新表

public int saveData(Map data,String tableName);

Map中的key为表中的字段名, 在tableName的表中插入data中的值, 返回插入记录的主键seq。

public int[] saveBatchData(List> dataList,String tableName);

Map中的key为表中的字段名, 在tableName的表中批量插入data中的值, 返回插入记录的主键seq列表。