实体类的创建对应表中people表,
@DatabaseTable(tableName="people")
public class People {
@DatabaseField(generatedId = true)
private int id;
@DatabaseField(columnName="name")
private String name;
//再加上get,set方法
}
---------------------------------------------
class DataHelper extends OrmLiteSqliteOpenHelper
DataHelper类的任务:
初始化数据库,创建表格,升级数据库;
并帮助我们创建一个操作实体类的对象也就是数据库中的一个表格 Dao<T, ID>对象,给予这个对象一个供外部得到的方法(既是get,set方法,),供外部使用它来操作实体类的对象,也就操作了数据库中对应实体类的表。例如我使用的是Dao<People,Integer> 对象,Integer 代表主键是int。
---------------------------------------------
ServicePeople 类
它的构造方法参数是传进来一个在哪个界面使用的上下文对象(Context pContext),并且利用DataHelper类对象实例化一个相应表格的具体的Dao<T,ID>对象:new DataHelper(pContext).getDaoPeople();
使用 Dao<T, ID>对象来操作具体的表中记录了包括增删改查(目前比较简单的增删改查)。
增加一条people表记录,参数是该people的名字,返回值如果是0表示没有创建,是1代表创建了:
public int addPeople(String pName);
删除people表中的一条pPeople记录,会根据传进来一个参数pPeople对象的主键来删除,返回值如果是0表示没有删除,是1代表删除了
public int DeletePeople(People pPeople)
更新people表中的一条pPeople记录,会根据主键找到传进来的pPeople对象,然后修改其他的属性或者说是字段,返回值如果是0表示没有更新,是1代表更新了
public int UpdatePeople(People pPeople)
查询people表中的所有记录,返回值是List<People>包括所有对象;
public List<People> selectAllPeople()
如果是条件查询的话需要写相应的sql语句我还没有在service里面添加,不知道所需要的查询的条件。
条件的查询:
String _name = "";
GenericRawResults<String[]> rawResults = mDaoPeople.queryRaw("select * from people where id = "+mEditSql_People.getText().toString());
for (String[] resultArray : rawResults) {
System.out.println("name :" + resultArray[0] + " id : "+ resultArray[1]);//这里的resultArray[0]代表表中第一个字段的值,resultArray[1]代表第二个字段的值
_name = _name + "name:" + resultArray[0] + "id:"+ resultArray[1];}