xutils學習(1)

xutils可以從github上下載。

爲字段定義類型

從xutils的com.lidroid.xutils.db.converter包中所以的類可以看到,

xutil默認爲String定義Text類型,其他大部分定義爲Integer類型,但我們實際用的時候並不會爲所有的String都定義成Text類型的,有時候我們會定義char(36),nvarchar(48)等,我們有時候會定義的比較靈活。

要自己在類中定義類型,類似於

@Column(column = "email", dbType = "nvarchar(100)")
  private String email;

我們需要改一下幾個地方:

一、在爲Column定義的Annotation中添加String dbType()  default "";,爲Column定義dbType的annotation屬性;

二、在Column類中定義一個dbType數據成員,然後從annotation中獲取到定義的數據類型,。this.dbType = ColumnUtils.getDbType(field);

public static String getDbType(Field field) {
        Column column = field.getAnnotation(Column.class);
        if (column != null && !TextUtils.isEmpty(column.dbType())) {
            return column.dbType();
        }
        return null;
    }

三、SqlInfoBuilder類中的buildCreateTableSqlInfo中獲取字段類型的地方改爲sqlBuffer.append(column.dbType() != null ? column.dbType() : column
                    .getColumnDbType()),這樣就能在數據庫中定義了;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章