RdbUtils java.lang.Object |—ohos.data.rdb.RdbUtils public class RdbUtils extends Object 提供与关系数据库 (RDB) 相关的静态实用程序方法。 嵌套类摘要 修饰符和类型 类 描述 static class RdbUtils.OperationType 描述数据库操作类型。 方法总结 修饰符和类型 方法 描述 static void appendStringToSqlAndEscapeQuote(StringBuilder sqlbuilder, String escapeVar) 将 escapeVar 附加到 sqlbuilder。 static String escapeQuote(String sqlString) 转义字符串中的单引号。 static void verifyPredicates(RdbStore rdbStore, RdbUtils.OperationType type, AbsRdbPredicates absRdbPredicates) 验证 AbsRdbPredicates 的指定实例对象。 static void verifySql(RdbStore rdbStore, String sql) 验证指定的 SQL 语句。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 方法详情 appendStringToSqlAndEscapeQuote public static void appendStringToSqlAndEscapeQuote(StringBuilder sqlbuilder, String escapeVar) 将 escapeVar 附加到 sqlbuilder。 escapeVar 中包含的单引号将被转义。 如果escapeVar 为null,则不追加,返回sqlbuilder。 参数: 参数名称 参数描述 sqlbuilder 指示将附加 sqlString 的 sqlbuilder。 escapeVar 指示要附加的 escapeVar。 escapeQuote public static String escapeQuote(String sqlString) 转义字符串中的单引号。 如果输入字符串为空,则返回空。 如果输入字符串为空,则返回两个单引号。 参数: 参数名称 参数描述 sqlString 指示包含要转义的单引号的字符串。 返回: 返回其单引号已被转义的字符串。 verifySql public static void verifySql(RdbStore rdbStore, String sql) 验证指定的 SQL 语句。 参数: 参数名称 参数描述 rdbStore 指示要在其上执行 SQL 语句的数据库。 sql 指示要验证的 SQL 语句。 Throws: Throw名称 Throw描述 RdbException 如果 SQL 语句无效,则引发此异常。 IllegalArgumentException 如果任一参数为空,则引发此异常。 verifyPredicates public static void verifyPredicates(RdbStore rdbStore, RdbUtils.OperationType type, AbsRdbPredicates absRdbPredicates) 验证 AbsRdbPredicates 的指定实例对象。 此方法适用于对数据库的更新、删除和计数操作。 参数: 参数名称 参数描述...
RdbPredicates java.lang.Object |—ohos.data.rdb.AbsRdbPredicates |—|—ohos.data.rdb.RdbPredicates public class RdbPredicates extends AbsRdbPredicates 表示关系数据库 (RDB) 的谓词。 此类确定 RDB 中条件表达式的值是真还是假。 构造函数摘要 构造函数 描述 RdbPredicates(String tableName) 用于创建 RdbPredicates 实例以搜索 RDB 对象的参数化构造函数。 方法总结 修饰符和类型 方法 描述 RdbPredicates and() 向谓词添加一个和条件。 RdbPredicates beginsWith(String field, String value) 配置谓词以匹配数据类型为字符串且值以指定字符串开头的字段。 RdbPredicates beginWrap() 为谓词添加左括号。 RdbPredicates between(String field, double low, double high) 配置谓词以匹配数据类型为双精度且值在给定范围内的指定字段。 RdbPredicates between(String field, float low, float high) 配置谓词以匹配数据类型为浮点且值在给定范围内的指定字段。 RdbPredicates between(String field, int low, int high) 配置谓词以匹配数据类型为 int 且值在给定范围内的指定字段。 RdbPredicates between(String field, long low, long high) 配置谓词以匹配数据类型为长且值在给定范围内的指定字段。 RdbPredicates between(String field, String low, String high) 配置谓词以匹配数据类型为字符串且值在给定范围内的指定字段。 RdbPredicates between(String field, Time low, Time high) 配置谓词以匹配数据类型为时间且值在给定范围内的指定字段。 RdbPredicates between(String field, Timestamp low, Timestamp high) 配置谓词以匹配数据类型为 Timestamp 且值在给定范围内的指定字段。 RdbPredicates between(String field, Calendar low, Calendar high) 配置谓词以匹配数据类型为日历且值在给定范围内的指定字段。 RdbPredicates between(String field, Date low, Date high) 配置谓词以匹配数据类型为日期且值在给定范围内的指定字段。 void clear() 清除 RdbPredicates 的搜索条件。 RdbPredicates contains(String field, String value) 配置谓词以匹配数据类型为字符串且值包含指定值的字段。 RdbPredicates crossJoin(String tableName) 向 SQL 语句添加交叉连接条件。 RdbPredicates distinct() 配置谓词以过滤掉重复记录并仅保留其中一个。 RdbPredicates endsWith(String field, String value) 配置谓词以匹配数据类型为字符串且值以指定字符串结尾的字段。 RdbPredicates endWrap() 为谓词添加右括号。 RdbPredicates equalTo(String field, boolean value) 配置谓词以匹配数据类型为布尔值且值等于指定值的字段。 RdbPredicates equalTo(String field, byte value) 配置谓词以匹配数据类型为字节且值等于指定值的字段。 RdbPredicates equalTo(String field, double value) 配置谓词以匹配数据类型为双精度且值等于指定值的字段。 RdbPredicates equalTo(String field, float value) 配置谓词以匹配数据类型为浮点且值等于指定值的字段。 RdbPredicates equalTo(String field, int value) 配置谓词以匹配数据类型为 int 且值等于指定值的字段。 RdbPredicates equalTo(String field, long value) 配置谓词以匹配数据类型为长且值等于指定值的字段。 RdbPredicates equalTo(String field, short value) 配置谓词以匹配数据类型为短且值等于指定值的字段。 RdbPredicates equalTo(String field, String value) 配置谓词以匹配数据类型为字符串且值等于指定值的字段。 RdbPredicates equalTo(String field, Time value) 配置谓词以匹配数据类型为时间且值等于指定值的字段。 RdbPredicates equalTo(String field, Timestamp value) 配置谓词以匹配数据类型为时间戳且值等于指定值的字段。 RdbPredicates equalTo(String field, Calendar value) 配置谓词以匹配数据类型为日历且值等于指定值的字段。 RdbPredicates equalTo(String field, Date value) 配置谓词以匹配数据类型为日期且值等于指定值的字段。 RdbPredicates glob(String field, String value) RdbPredicates greaterThan(String field, double value) 配置谓词以匹配数据类型为双精度且值大于指定值的字段。 RdbPredicates...
RdbOpenCallback java.lang.Object |—ohos.data.rdb.RdbOpenCallback public abstract class RdbOpenCallback extends Object 管理数据库的创建、升级和降级。 您可以创建一个子类来实现#onCreate、#onUpgrade 或#onOpen 方法。 如果数据库已经存在,则将其打开; 如果不存在数据库,将创建一个数据库。 在数据库升级过程中,也会调用该类的方法。 构造函数摘要 构造函数 描述 RdbOpenCallback() 方法总结 修饰符和类型 方法 描述 void onCorruption(File databaseFile) 在打开数据库时发生损坏异常时调用。 abstract void onCreate(RdbStore store) 在创建与 RDB 存储关联的数据库时调用。 void onDowngrade(RdbStore store, int currentVersion, int targetVersion) 当与此 RdbStore 关联的数据库需要降级时调用。 void onOpen(RdbStore store) 在打开与 RDB 存储关联的数据库时调用。 abstract void onUpgrade(RdbStore store, int currentVersion, int targetVersion) 当与 RDB 存储关联的数据库需要升级时调用。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 构造函数详细信息 RdbOpenCallback public RdbOpenCallback() 方法详情 onCreate public abstract void onCreate(RdbStore store) 在创建与 RDB 存储关联的数据库时调用。 该方法创建一个数据库并将初始化的表数据插入到数据库中。 参数: 参数名称 参数描述 store 指示 RdbStore 对象。 onUpgrade public abstract void onUpgrade(RdbStore store, int currentVersion, int targetVersion) 当与 RDB 存储关联的数据库需要升级时调用。 此方法在事务中执行。 如果抛出异常,所有更改将自动回滚。 参数: 参数名称 参数描述 store 指示 RdbStore 对象。 currentVersion 指示当前数据库版本。 targetVersion 指示目标数据库版本。 onDowngrade public void onDowngrade(RdbStore store, int currentVersion, int targetVersion) 当与此 RdbStore 关联的数据库需要降级时调用。 此方法在事务中执行。 如果抛出异常,所有更改将自动回滚。 参数: 参数名称 参数描述 store 指示 RdbStore 对象。 currentVersion 指示当前数据库版本。 targetVersion 指示目标数据库版本。 onOpen public void onOpen(RdbStore store) 在打开与 RDB 存储关联的数据库时调用。 参数: 参数名称...
RawRdbPredicates java.lang.Object |—ohos.data.rdb.AbsRdbPredicates |—|—ohos.data.rdb.RawRdbPredicates public class RawRdbPredicates extends AbsRdbPredicates 这是用于关系数据库的 RdbPredicates 的子类。 RawRdbPredicates 只允许在构造方法中设置表名、whereClause 和 whereArgs,RdbPredicates 中的其他接口不推荐使用。 构造函数摘要 构造函数 描述 RawRdbPredicates(String tableName) RawRdbPredicate 的构造方法,带有定义的表名。 RawRdbPredicates(String tableName, String whereClause, String[] whereArgs) RawRdbPredicate 的构造方法,带有定义的表名、where 子句和 whereArgs。 方法总结 修饰符和类型 方法 描述 ListString getWhereArgs() String getWhereClause() void setWhereArgs(ListString whereArgs) void setWhereClause(String whereClause) 从类 ohos.data.rdb.AbsRdbPredicates 继承的方法 clear, getTableName 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 构造函数详细信息 RawRdbPredicates public RawRdbPredicates(String tableName) RawRdbPredicate 的构造方法,带有定义的表名。 参数: 参数名称 参数描述 tableName 表示要操作的表名。 RawRdbPredicates public RawRdbPredicates(String tableName, String whereClause, String[] whereArgs) RawRdbPredicate 的构造方法,带有定义的表名、where 子句和 whereArgs。 参数: 参数名称 参数描述 tableName 表示要操作的表名。 whereClause 表示sql语句的where子句。 whereArgs 表示 where 子句中占位符的值。 方法详情 setWhereClause public void setWhereClause(String whereClause) setWhereArgs public void setWhereArgs(ListString whereArgs) getWhereClause public String getWhereClause() getWhereArgs public ListString getWhereArgs()
DataObserverAsyncWrapper java.lang.Object |—ohos.data.rdb.DataObserverAsyncWrapper public class DataObserverAsyncWrapper extends Object implements DataObserver DataObserver 的包装类。 DataObserverAsyncWrapper 实例异步通知包装的 DataObserver 实例。 观察者用作 ResultSet.registerObserver(ohos.data.rdb.DataObserver) 和 ResultSet.unregisterObserver(ohos.data.rdb.DataObserver) 方法的输入参数。 构造函数摘要 构造函数 描述 DataObserverAsyncWrapper(DataObserver observer, EventHandler eventHandler) 用于创建 DataObserverAsyncWrapper 实例的参数化构造函数。 方法总结 修饰符和类型 方法 描述 void onChange() 当结果集中的数据发生变化时调用。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 构造函数详细信息 DataObserverAsyncWrapper public DataObserverAsyncWrapper(DataObserver observer, EventHandler eventHandler) 用于创建 DataObserverAsyncWrapper 实例的参数化构造函数。 参数: 参数名称 参数描述 observer 指示要包装的 DataObserver 实例。 eventHandler 指示用于通知异步线程中包装的 DataObserver 实例的事件处理程序。 方法详情 onChange public void onChange() 从接口复制的描述:DataObserver 当结果集中的数据发生变化时调用。 您可以定义调用此方法后应用的逻辑以满足您的业务需求。 指定者: 接口 DataObserver 中的 onChange
DataObservable java.lang.Object |—ohos.data.rdb.DataObservable public class DataObservable extends Object 表示一组 DataObserver 对象,用于侦听观察对象的变化。 构造函数摘要 构造函数 描述 DataObservable() 方法总结 修饰符和类型 方法 描述 void add(DataObserver dataObserver) 将观察者添加到观察者集中。 void notifyObservers() 向观察者集中的所有观察者发送通知。 void remove(DataObserver dataObserver) 从观察者集中移除指定的观察者。 void removeAll() 从观察者集中移除所有观察者。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 构造函数详细信息 DataObservable public DataObservable() 方法详情 add public void add(DataObserver dataObserver) 将观察者添加到观察者集中。 如果观察者已经存在于观察者集中,则不会被添加。 参数: 参数名称 参数描述 dataObserver 数据观察者。 remove public void remove(DataObserver dataObserver) 从观察者集中移除指定的观察者。 参数: 参数名称 参数描述 dataObserver 数据观察者。 notifyObservers public void notifyObservers() 向观察者集中的所有观察者发送通知。 removeAll public void removeAll() 从观察者集中移除所有观察者。
AbsRdbPredicates java.lang.Object |—ohos.data.rdb.AbsRdbPredicates public abstract class AbsRdbPredicates extends Object 抽象超类,用于为关系数据库(RDB)设置数据库操作条件。 定义了两个 AbsRdbPredicates 实现类,分别包含 RdbPredicates 和 RawRdbPredicates。 构造函数摘要 构造函数 描述 AbsRdbPredicates(String tableName) AbsPredicates 的构造方法,带有定义的表名。 方法总结 修饰符和类型 方法 描述 void clear() String getTableName() 获取谓词中的数据库表名。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 构造函数详细信息 AbsRdbPredicates public AbsRdbPredicates(String tableName) AbsPredicates 的构造方法,带有定义的表名。 参数: 参数名称 参数描述 tableName 表示要操作的表名。 方法详情 getTableName public String getTableName() 获取谓词中的数据库表名。 返回: 变量表名的值。 clear public void clear()
TransactionObserver public interface TransactionObserver 提供可以在事务启动、提交或回滚时调用的回调方法。 方法总结 修饰符和类型 方法 描述 void onBegin() 在事务开始时调用。 void onCommit() 提交事务时调用。 void onRollback() 当事务回滚时调用。 方法详情 onBegin void onBegin() 在事务开始时调用。 onCommit void onCommit() 提交事务时调用。 onRollback void onRollback() 当事务回滚时调用。
Statement public interface Statement 提供为预编译 SQL 语句设置值和执行预编译 SQL 语句的方法。 方法总结 修饰符和类型 方法 描述 void clearValues() 清除预编译语句的所有动态值。 void close() 关闭当前预编译的 SQL 语句。 void execute() 执行预编译的 SQL 语句。 int executeAndGetChanges() 执行预编译的 SQL 语句以获取受影响的行数。 long executeAndGetLastInsertRowId() 执行预编译的 SQL 语句以获取最后插入的行的 ID。 long executeAndGetLong() 执行预编译的 SQL 语句,获取 long 类型的返回值。 String executeAndGetString() 执行预编译的 SQL 语句,获取字符串类型的返回值。 void setBlob(int index, byte[] value) 动态设置预编译语句的字节数组值。 void setDouble(int index, double value) 为预编译语句动态设置双精度值。 void setLong(int index, long value) 动态设置预编译语句的 long 值。 void setNull(int index) 为预编译语句动态设置 null。 void setObject(int index, Object value) 动态设置预编译语句的对象值。 void setString(int index, String value) 动态设置预编译语句的字符串值。 void setStrings(String[] stringValues) 动态设置预编译语句的所有字符串值。 方法详情 setNull void setNull(int index) 为预编译语句动态设置 null。 参数: 参数名称 参数描述 index 表示要为预编译语句设置的值的索引,从 1 开始。 setLong void setLong(int index, long value) 动态设置预编译语句的 long 值。 参数: 参数名称 参数描述 index 表示要为预编译语句设置的值的索引,从 1 开始。 value 指示要为预编译语句设置的值。 setDouble void setDouble(int index, double value) 为预编译语句动态设置双精度值。 参数: 参数名称 参数描述 index 表示要为预编译语句设置的值的索引,从 1 开始。 value 指示要为预编译语句设置的值。 setString void setString(int index, String value) 动态设置预编译语句的字符串值。 参数: 参数名称 参数描述 index 表示要为预编译语句设置的值的索引,从 1 开始。 value 指示要为预编译语句设置的值。 setBlob void setBlob(int index, byte[] value) 动态设置预编译语句的字节数组值。 参数: 参数名称...
RdbStore public interface RdbStore 提供管理关系数据库 (RDB) 的方法。 此类提供用于创建、查询、更新和删除 RDB 的方法。 嵌套类摘要 修饰符和类型 接口 描述 static class RdbStore.ConflictResolution 表示解决冲突的方法的类型。 字段摘要 修饰符和类型 字段 描述 static int MAX_BATCH_INSERT_SIZE 方法总结 修饰符和类型 方法 描述 void addAttach(String alias, String name, byte[] encryptKey) 附加数据库。 boolean backup(String destName) 以指定名称备份数据库。 boolean backup(String destName, byte[] destEncryptKey) 使用指定的加密密钥以指定名称备份数据库。 ListLong batchInsertOrThrowException(String tableName, ListValuesBucket initialValues, RdbStore.ConflictResolution conflictResolution) 根据冲突处理策略将数据批量插入数据库。 void beginTransaction() 以 EXCLUSIVE 模式开始事务。 void beginTransactionWithObserver(TransactionObserver transactionObserver) 使用侦听器以独占模式开始事务。 Statement buildStatement(String sql) 将 SQL 语句编译成可重用的语句。 void changeEncryptKey(byte[] newEncryptKey) 更改打开的加密数据库的加密密钥。 boolean checkIntegrity() 检查主数据库和附加数据库的完整性。 void close() 关闭一个 RDB。 void configLocale(Locale locale) 设置数据库区域设置。 long count(String tableName, String whereClause, String[] whereArgs) 查询RDB存储中满足指定条件的行数。 long count(AbsRdbPredicates absRdbPredicates) 获取数据满足 AbsRdbPredicates 的指定实例对象的行数。 int delete(AbsRdbPredicates absRdbPredicates) 根据 AbsRdbPredicates 的指定实例对象从数据库中删除数据。 void endTransaction() 结束交易。 void executeSql(String sql) 执行不返回值的 SQL 语句。 void executeSql(String sql, Object[] sqlArgs) 执行包含指定参数但不返回值的 SQL 语句。 String getPath() 获取数据库文件的路径。 int getVersion() 获取数据库版本。 void giveConnectionTemporarily(long milliseconds) 暂时断开与数据库的连接以允许其他线程使用数据库。 long insert(String table, ValuesBucket initialValues) 在目标表中插入一行数据。 long insertOrThrowException(String table, ValuesBucket initialValues) 在目标表中插入一行数据。 long insertWithConflictResolution(String table, ValuesBucket initialValues, RdbStore.ConflictResolution conflictResolution) 在目标表中插入一行数据并指定解决冲突的方法。 boolean isHoldingConnection() 检查此线程是否拥有数据库连接。 boolean isInTransaction() 检查当前线程是否正在进行事务。 boolean isMemoryRdb() 检查数据库是否在内存中打开。 boolean isOpen() 检查数据库是否打开。 boolean isReadOnly() 检查数据库是否以只读模式打开。 ListPairString,String listAttached() 查询附加数据库列表。 void markAsCommit() 将当前事务标记为提交。 ResultSet query(AbsRdbPredicates absRdbPredicates, String[] columns) 根据指定条件查询数据库中的数据。...