第二阶段冲刺(2)

根据一个教程性的视频学习了sqlite的语法,成功创建了数据库,也可以对数据库进行升级等操作,编写了Dao方法。

public class DatabaseHelper extends SQLiteOpenHelper {
    public static SQLiteDatabase sqLiteDatabase;

    private static final String TAG = "DatabaseHelper";


    /*
    context:上下文
    name:数据库名称
    factory:直译游标工厂,为null的时候使用默认值
    version:版本号

     */

    public DatabaseHelper(@Nullable Context context) {
        super(context, Constants.DATABASE_NAME, null, Constants.VERSION_CODE);
    }

    //只有第一次创建数据库时会调用这个方法
    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        //创建时的回调
        Log.d(TAG,"创建数据库...");
        //创建字段
        String sql = "create table "+ Constants.TABLE_NAME +"(_id integer,name varchar,age integer,salary integer)";
        sqLiteDatabase.execSQL(sql);
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) {
        //升级数据库时的回调
        Log.d(TAG,"升级数据库...");

        String sql;
        switch (oldVersion){
            case 3://添加phone字段
//                sql = "alter table "+Constants.TABLE_NAME+" add phone integer";
//                sqLiteDatabase.execSQL(sql);
                break;
            case 4://添加address字段
                sql = "alter table "+Constants.TABLE_NAME+" add address varchar";
                sqLiteDatabase.execSQL(sql);
                break;
            case 5:

                break;

        }


    }
}
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        DatabaseHelper helper = new DatabaseHelper(this);
        helper.getWritableDatabase();

    }
}
View Code
public class Constants {
    public static final String DATABASE_NAME = "sunofbeaches.db";
    public static final int VERSION_CODE = 5;
    public static final String TABLE_NAME = "employee";

}
View Code
public class Dao {

    private static final String Tag = "";
    private final DatabaseHelper mHelper;



    public Dao(Context context) {

        //创建数据库
        mHelper = new DatabaseHelper(context);

    }

    public void insert() {
        SQLiteDatabase db = mHelper.getWritableDatabase();
        String sql = "insert into "+ Constants.TABLE_NAME +"(_id,name,age,salary,phone) values(?,?,?,?,?)";
        db.execSQL(sql,new Object[]{1,"BillGates",60,1,110});
        db.close();
    }

    public void delete() {
        SQLiteDatabase db = mHelper.getWritableDatabase();
        String sql = "delete from "+ Constants.TABLE_NAME +" where age = 60";
        db.execSQL(sql);
        db.close();
    }

    public void update() {
        SQLiteDatabase db = mHelper.getWritableDatabase();
        String sql = "update "+ Constants.TABLE_NAME +" set salary = 2 where age = 60";
        db.execSQL(sql);
        db.close();
    }

    public void query() {
        SQLiteDatabase db = mHelper.getWritableDatabase();
        String sql = "select * from "+ Constants.TABLE_NAME;
        Cursor cursor = db.rawQuery(sql,null);
        while (cursor.moveToNext()){
            int index = cursor.getColumnIndex("name");
            String name = cursor.getString(index);
            Log.d(Tag,"name == " + name);
            System.out.println(name+ "asdsadsadasdasdsxzcwqe2121412421421");
        }
        cursor.close();
        db.close();
    }
}
View Code

 

posted @ 2022-05-27 16:19  灰幕  阅读(18)  评论(0)    收藏  举报