/** * 检测映射表是否建立,没有则建一张新表。 * * @param db * @param tableName * @param column1 * @param column2 * @return */ public void checkOrCreateMappingTable( SQLiteDatabase db, String tableName, String column1, String column2) { // 关键点1:初始化全部数据库表 initAllTablesFromSQLite(db); EntityTable table = TableUtil.getMappingTable(tableName, column1, column2); synchronized (table) { // 关键点2:判断表是否存在,是否需要新加列。 if (!checkExistAndColumns(db, table)) { // 关键点3:新建表并加入表队列 if (createTable(db, table)) { putSqlTableIntoList(table); } } } }
/** * 检测表是否建立,没有则建一张新表。 * * @param db * @param entity */ public EntityTable checkOrCreateTable(SQLiteDatabase db, Object entity) { // 关键点1:初始化全部数据库表 initAllTablesFromSQLite(db); EntityTable table = TableUtil.getTable(entity); // table lock synchronized synchronized (table) { // 关键点2:判断表是否存在,是否需要新加列。 if (!checkExistAndColumns(db, table)) { // 关键点3:新建表并加入表队列 if (createTable(db, table)) { putSqlTableIntoList(table); } } } return table; }
/** 检测[映射表]是否建立,没有则建一张新表。 */ public synchronized void checkOrCreateMappingTable( SQLiteDatabase db, String tableName, String column1, String column2) { // 关键点0:[实体表]是否OK EntityTable table = getMappingTable(tableName, column1, column2); // if (!table.isChecked) { // 关键点1:初始化全部数据库表 initAllTablesFromSQLite(db); // 关键点2:判断[数据库表]是否存在,是否需要新加列。 if (!checkExistAndColumns(db, table)) { // 关键点3:新建[数据库表]并加入表队列 if (createTable(db, table)) { putNewSqlTableIntoMap(table); } } // table.isChecked = true; // } }
/** 检测[数据库表]是否建立,没有则建一张新表。 */ public synchronized EntityTable checkOrCreateTable(SQLiteDatabase db, Class claxx) { // 关键点0:[实体表]是否OK EntityTable table = getTable(claxx); // if (!table.isChecked) { // 关键点1:初始化全部数据库表 initAllTablesFromSQLite(db); // table lock synchronized // 关键点2:判断[数据库表]是否存在,是否需要新加列。 if (!checkExistAndColumns(db, table)) { // 关键点3:新建[数据库表]并加入表队列 if (createTable(db, table)) { putNewSqlTableIntoMap(table); } } // table.isChecked = true; // } return table; }