public class MyDao { SQLiteDatabase db = null; MyDBHelper dbHelper = null; public MyDao(Context context) { dbHelper = new MyDBHelper(context); } public void method() { /** * 创建数据库 */ // 1. 创建 or 打开 可读/写的数据库(通过 返回的SQLiteDatabase对象 进行操作) dbHelper.getWritableDatabase(); // 2. 创建 or 打开 可读的数据库(通过 返回的SQLiteDatabase对象 进行操作) dbHelper.getReadableDatabase(); // 3. 数据库第1次创建时 则会调用,即 第1次调用 getWritableDatabase() / getReadableDatabase()时调用 // 在继承SQLiteOpenHelper类的子类中复写 dbHelper.onCreate(SQLiteDatabase db); // 4. 数据库升级时自动调用 // 在继承SQLiteOpenHelper类的子类中复写 dbHelper.onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion); // 5. 关闭数据库 dbHelper.close(); /** * 数据库操作(增、删、减、查) */ // 1. 查询数据 (Cursor) query(String table, String[]columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) // 查询指定的数据表返回一个带游标的数据集。 // 各参数说明: // table:表名称 // colums:列名称数组 // selection:条件子句,相当于where // selectionArgs:条件语句的参数数组 // groupBy:分组 // having:分组条件 // orderBy:排序类 // limit:分页查询的限制 // Cursor:返回值,相当于结果集ResultSet (Cursor) rawQuery(String sql, String[]selectionArgs) //运行一个预置的SQL语句,返回带游标的数据集(与上面的语句最大的区别 = 防止SQL注入) // 2. 删除数据行 (int) delete(String table, String whereClause, String[]whereArgs); // 3. 添加数据行 (long) insert(String table, String nullColumnHack, ContentValues values); // 4. 更新数据行 (int) update(String table, ContentValues values, String whereClause, String[]whereArgs); // 5. 执行一个SQL语句,可以是一个select or 其他sql语句 // 即 直接使用String类型传入sql语句 & 执行 (void) execSQL(String sql); } }
sqlite SQLiteOpenHelper 常用的方法
最新推荐文章于 2023-10-24 19:55:07 发布