/**
  * 检测映射表是否建立,没有则建一张新表。
  *
  * @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;
 }