你在哪里放数据库字段名称?

时间:2016-09-18 16:57:19

标签: java android sqlite oop

例如,我应该将SQL字段名称放在类本身

public class Book {
    public static final String TABLE_NAME = "book";
    public static final String ID = "id";
    public static final String NUM_PAGES = "num_pages";

    private long id;
    private int numPages;

    public Book(long id, int numPages) {
        this.id = id;
        this.numPages = numPages;
    }

    //...

}

,其中

public class DatabaseHelper extends SQLiteOpenHelper {

    //...

    public static final query = "select * from " + Book.TABLE_NAME; //for example

    //...

}

或者字段是否应该进入DatabaseHelper:

public class DatabaseHelper extends SQLiteOpenHelper {

    public static final String BOOK_TABLE_NAME = "book";
    public static final String BOOK_ID = "id";
    public static final String BOOK_NUM_PAGES = "num_pages";

    //...

    public static final query = "select * from " + BOOK_TABLE_NAME; //for example

   //...

}

主要是试图找出这些名称为了CRUD功能而需要实际去哪里。

1 个答案:

答案 0 :(得分:0)

这两种设计都是有效的,选择你喜欢的任何一种设计并随之运行。

我个人尝试对我的POJO进行建模,以便表列名对应于变量名,但如果不可能,我将变量放在同一个POJO类中,这样它们就是自包含的,并且在其他部分非常易读代码库。

vector<double> dQdt = std::vector(3);