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()),这样就能在数据库中定义了;

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