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);
}

相关推荐