您的位置:首页 > 移动开发 > Android开发

Android中OrmLite数据库使用总结

2016-12-23 15:26 399 查看

Android中OrmLite数据库的使用操作和步骤:

1,OrmLite数据库可以让开发者不写sql的情况完成dao开发。

2,Orm:Object Relation Mapping,对象关系模型映射。即通过javaBean的特殊配置。完成类与表名,变量与列名的对应关系的配置。有了这个关系可以通过框架直接把对象保存到数据库

3,哎呀,简单一句话,开发者不需要写数据库,通过将javaBean保存成数据库的框架。

首先,写一个javaBean,但是有以下,五点注意事项:

第一,无参构造函数

第二,get与set方法

第三,配置表名@DatabaseTable(tableName = “XXOO”) ,目的是告诉框架将来这个记录存在哪张表中

第四,配置字段@DatabaseField(columnName = “AABB”),目的是成员变量对应的列名

第五,要指定一个主键,自增长,generatedID=true,写法是这样:

@DatabaseField(columnName = "_id",generatedId = true)


具体代码如下:

@DatabaseTable(tableName = "xiaoke_user")
public class UserInfo {
@DatabaseField(columnName = "name")
private String name;
@DatabaseField(columnName = "address")
private String address;
@DatabaseField(columnName = "age")
private int age;
@DatabaseField(columnName = "_id",generatedId = true)
private int id;

public UserInfo() {
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}


其次,写操作数据库的类

public class MyOpenHelper extends OrmLiteSqliteOpenHelper {
private static final String databaseName="XiaoKeUser.db";
private  static final SQLiteDatabase.CursorFactory factory=null;
private static final int databaseVersion=1;

public MyOpenHelper(Context context) {
super(context, databaseName, factory, databaseVersion);
}

//TableUtils:表工具 管理表,创建表与删除表
@Override
public void onCreate(SQLiteDatabase database, ConnectionSource
connectionSource) {
//ConnectionSource:优化为SqliteDatabase
//javaBean的字节文件
//创建表.
try {
TableUtils.createTable(connectionSource,UserInfo.class);
} catch (SQLException e) {
e.printStackTrace();
}
}
//更新表的方法
@Override
public void onUpgrade(SQLiteDatabase database, ConnectionSource
connectionSource, int oldVersion, int newVersion) {
}
}


最后,写CRUD方法,操作数据库

//手写点击的方法
public  void start(View view)
{
try {
//第二个泛型参数是id类型 将来跟删除查找,更新。
Dao<UserInfo, Integer> dao = new MyOpenHelper(this)
.getDao(UserInfo.class);

//addQuery(dao);
//updateQuery(dao);
//dao.deleteById(1);

List<UserInfo> userInfos = dao.queryForAll();
System.out.println(userInfos);
} catch (SQLException e) {
e.printStackTrace();
}
}

private void updateQuery(Dao<UserInfo, Integer> dao) throws SQLException {
UserInfo userInfo = dao.queryForId(1);
userInfo.setName("小可爱android");
dao.update(userInfo);
List<UserInfo> userInfos = dao.queryForAll();
System.out.println(userInfos);
}

private void addQuery(Dao<UserInfo, Integer> dao) throws SQLException {
UserInfo info=new UserInfo();
info.setName("小可爱java");
info.setAge(11);
info.setAddress("北京");
dao.create(info);//在表里生成一条记录
//查找到所有记录
List<UserInfo> list = dao.queryForAll();
System.out.println(list);
}


源码见Github:

https://github.com/ITXIAOKE/OrmLiteDemo

致辞,OrmLite数据库操作与使用已经完成,谢谢读者观看,再见!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息