static int getSqlType (String typeString) {
      switch (typeString) {
         case "null":
         case "class java.lang.String":
            return java.sql.Types.VARCHAR;
         case "class java.lang.Integer":
            return java.sql.Types.INTEGER;
         case "class java.lang.Long":
            return java.sql.Types.BIGINT;
         case "class java.lang.Double":
            return java.sql.Types.DOUBLE;
         case "class java.lang.Boolean":
            return java.sql.Types.BOOLEAN;
         case "class java.lang.Float":
            return java.sql.Types.FLOAT;
         case "class java.lang.Short":
            return java.sql.Types.SMALLINT;
         case "class java.lang.Byte":
            return java.sql.Types.TINYINT;
         case "class java.math.BigDecimal":
         case "class org.bson.types.Decimal128":
            return java.sql.Types.DECIMAL;
         case "class java.sql.Date":
         case "class java.util.Date":
         case "class java.sql.Timestamp":
            return Types.TIMESTAMP_WITH_TIMEZONE;
         case "class java.sql.Time":
            return java.sql.Types.TIME;
         case "class org.bson.types.Binary":
            return java.sql.Types.BINARY;
         case "class java.util.List":
         case "class java.util.ArrayList":
            return java.sql.Types.ARRAY;
         case "class org.bson.Document":
            return Types.STRUCT;
         case "class org.bson.types.ObjectId":
            return Types.ROWID;
         case "class java.lang.Object":
         default:
            return java.sql.Types.OTHER;
      }
   }
Maps a given class type to a corresponding SQL type.

@param typeString the class type as a string
@return the corresponding SQL type, or {@link java.sql.Types#OTHER} if no corresponding type is found.
src/main/java/org/replicadb/rowset/MongoDBRowSetImpl.java