Android中对数据库进行CRUD操作手写SQL语句方式
一、首先新建Adnroid项目 然后就是 新建 数据库文件
创建DBSQLiteOpenHelper类 并让它继承 SQLiteOpenHelper
public class DBSQLiteOpenHelper extends SQLiteOpenHelper {
// 数据库的名称
private static final String name = "CSDN";
// 数据库的版本
private static final int version = 2;
public DBSQLiteOpenHelper(Context context) {
super(context, name, null, version);
Log.v("DBSQLiteOpenHelper", "构造器.....");
}
// 当数据 库第一次创建的时候 执行的方法
@Override
public void onCreate(SQLiteDatabase db) {
// execSQL来挨靠 sql语句
db.execSQL("create table person(personid integer primary key autoincrement,name varchar(20),age integer)");
Log.v("DBSQLiteOpenHelper", "onCreate...创建执行第一次。");
}
// 当版本发生变化则执行此方法
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("alter table person add account integer");
Log.v("DBSQLiteOpenHelper", "每次更新时都执行.....");
}
}
------接下来就是对数据库进行操作了----------------------------------------------------
新建 domain包 中Person 类 其中字段如下:
public class Person {
private Integer id;
private String name;
private Integer age;
private Integer account;
生成 空构造器,带参数的构造器,和set/get 方法
为了方便测试 生成String
-------------------------------------------------------------------
接下来就是实现PersonDao接口和PersonDaoImpl类了。
public interface PersonDao {
/**
* 插入数据操作
* @param db
* @param entity
*/
public void insert(SQLiteDatabase db,Person entity);
/**
* 更新操作
* @param db
* @param entity
*/
public void update(SQLiteDatabase db,Person entity);
/**
* 删除操作
* @param db
* @param id
*/
public void delete(SQLiteDatabase db,Integer id);
//查找所有
public List<Person> findAll(SQLiteDatabase db);
//获取当前页信息
public List<Person> getNowPageInfo(SQLiteDatabase db,int nowpage,int pagesize);
//根据ID查询
public Person findById(SQLiteDatabase db,Integer id);
}