我在使用SQL进行数据库设计和开发方面经验不足。
我有实体用户:
public class User {
String name;
String secondName;
}
和 DAO :
public interface UserDAO {
// save
void persistUser(User user);
// obtain from DB
User retrieveUser();
}
实施:
public class LibraryUserDAO implements UserDAO{
/** SQL database actually*/
private SQLiteOpenHelper database;
void persistUser(User user){
// saving to DB
}
User retrieveUser(){
// obtain from DB
}
}
我有一个问题。
是否可以独立于用户类更改保存到DB进程?
例如:现在,您可以看到我有2个字段 - 名称和 secondName
立即保存:
SQLiteDatabase writableDatabase = database.getWritableDatabase();
writableDatabase.beginTransaction();
ContentValues cv = new ContentValues();
cv.put("name", user.name);
cv.put("secondName", user.secondName);
writableDatabase.insert("users", null, cv);
writableDatabase.close();
我希望在您向类year
添加新字段(例如User
)时,在数据库中,此字段会自动添加为数据库中的新列(如果不是)。
所以总是保持班级SQLiteOpenHelper
不变。(如果可能的话)。