public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "app_data.db";
private static final int VERSION = 1;
public MyDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表语句
db.execSQL("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 升级表逻辑
db.execSQL("DROP TABLE IF EXISTS users");
onCreate(db);
}
}
// 实体类
@Entity(tableName = "users")
public class User {
@PrimaryKey(autoGenerate = true)
public int id;
@ColumnInfo(name = "name")
public String name;
}
// DAO接口
@Dao
public interface UserDao {
@Insert
void insert(User user);
@Query("SELECT FROM users WHERE id = :userId")
User getUserById(int userId);
}
// 数据库类
@Database(entities = {User.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public abstract UserDao userDao();
}