首页

ORM

搜索

概述
ORM是Object/Relational Mapping的缩写,译为对象关系映射。采用键-值对的形式存放字段
的数据,这种方式的好处是:无需SQL语句即能对数据进行添加、修改操作。
SQLitDatabase类封装了insert(), delete(), update()方法,这三个方法无需用SQL语句就能对
数据库进行增删改的操作。
Java是面向对象的语言,目前流行的数据库大多是关系型数据库。ORM使得面向对象编程能容易
地处理关系数据库中的数据。
操作步骤
步骤1、创建ContentValues的对象。
步骤2、调用该对象中的get(), put()等方法,以键-值对的形式存取数据。
步骤3、调用SQLitDatabase类的insert(), delete()update()方法对数据表进行増删改操作。
[示例一4]用ORM方式改写[示例一1]中的增删改查操作
用Database类中的insert(), delete()和upate()方法代替execSQL方法,完成増删改操作。

关键代码如下:
public class MySQLiteOpenHelper extends SQLiteOpenHelper{
public MySQLiteOpenHelper(Context context){
super(context, "mt.db", null, 2);
@Override
publicvoid onCreate(SQLiteDatabase db){
db.execSQL("CREATE TABLE IF NOT EXISTS person"+
"(personId integer primary key autoincrement,"+
"name varchar(20),"+
"phone varchar(12))");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
db.execSQL("alter table person add email varchar(30)");
}
//insert()-完成向数据库中插入一行记录的操作
public void insert(){
SQLiteDatabase db=thiagetWritableDatabase();
//创建存放数据的对象values,该对象可操作键-值对数据
ContentValues values=newContentValues();
//存放姓名字段的数据
values.put(CommonUtiIs.NAME, "ee");
//存放电话字段的数据
values.put(CommonUtiIs.PHONE, "131553366");
db.insert(CommonUtiIs.TABLE_NAME, null, values);
}
//delete():完成删除指定条件的记录
public void delete(String condition,String[] args){
SQLiteDatabase db=thiagetWritableDatabase();
db.delete(CommonUtiIs.TABLE_NAME, "personId=?",args);
}
//update()一更新记录
public void update(){
SQLiteDatabase db=thiagetWritableDatabase();
//创建操作键-值对数据的对象
ContentValues values=new ContentValues();
values.put(CommonUtiIs.NAME, "zhang san");//以键-值对形式存放姓名
values.put(CommonUtiIs.PHONE, "66557788");//以键-值对形式存放电话
//更新personId=2的记录
db.update(CommonUtiIs.TABLE_NAME,values,"personId=?",newString[]{"2"});
}
//query():执行查询
public String query(String sql,String[] args){
String result=””;
SQLiteDatabase db=thiagetReadableDatabase();
Cursor cursor=db.rawQuery(sql, args);
if(cursor.moveToFirst()){
int id=cursor.getColumnIndex(CommonUtils. PERSON_ID);
result=CommonUtiIs.PERSON_ID+”=”+cursor.getString(id);
int nameIndex=cursor.getColumnIndex(CommonUtiIs.NAME);
result+="\n" +CommonUtils.NAME+”=”+cursor.getString(nameIndex);
int phoneIndex=cursor.getColumnIndex(CommonUtiIs.PHONE);
result+="\n" +CommonUtils.PHONE+”=”+cursor.getString(phoneIndex);
return result;
}

}

 

上一页 下一页