Android ORMLite框架笔记
2017-07-31 17:04
363 查看
一概要:
在Android 项目开发中,如果要使用数据库,向大家介绍一个关于数据的开源框架ORMLite。
提高我们开发数据的效率,特别是对于数据库使用频繁的项目开发。
配置:我们需要去官网下载两个jar(ormlite-android-5.0.jar,ormlite-core-5.0.jar),
官网:http://ormlite.com/releases/
优点:轻量级;使用简单,易上手;封装完善;
缺点:由于使用到了反射,效率较低。
二使用:
1,配置Bean类:
@DatabaseTable(tableName = "tb_person") //标明这是数据库中一张表,表名为tb_person
public class Person {
@DatabaseField(generatedId = true) //对应表tb_person,中id列,id为主键且自动生成
private int _id;
@DatabaseField(columnName = "name")//对应列name
private String name;
@DatabaseField(columnName = "descri")//对应列descri
private String descri;
public Person(){}
public Person(String name, String descri){
this.name = name;
this.descri = descri;
}
public int get_id() {
return _id;
}
public String getName() {
return name;
}
public String getDescri() {
return descri;
}
public void set_id(int _id) {
this._id = _id;
}
public void setName(String name) {
this.name = name;
}
public void setDescri(String descri) {
this.descri = descri;
}
@Override
public String toString() {
return "Person{" +
"_id=" + _id +
", name='" + name + '\'' +
", descri='" + descri + '\'' +
'}';
}
}
2,定义DBHelper,继承OrmLiteSqliteOpenHelper。
3,生成实例类Bean对应的BeanDao:
public class PersonDao {
private Context context;
private OrmDBHelper mHelper;
private Dao<Person, Integer> mDao;
public PersonDao(Context context){
this.context = context;
try{
mHelper = OrmDBHelper.getInstance(context);
mDao = mHelper.getDao(Person.class);
}catch (Exception e){
e.printStackTrace();
}
}
//添加Person
public void add(Person person){
try {
mDao.create(person);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void delete(Person person){
try {
mDao.delete(person);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void update(Person person) {
try {
mDao.update(person);
} catch (SQLException e) {
e.printStackTrace();
}
}
public List<Person> queryAll(){
List<Person> persons = null;
try {
persons = mDao.queryForAll();
} catch (SQLException e) {
e.printStackTrace();
}
return persons;
}
}
4,调用:
personDao = new PersonDao(getApplicationContext());
参考:http://blog.csdn.net/lmj623565791/article/details/39122981
在Android 项目开发中,如果要使用数据库,向大家介绍一个关于数据的开源框架ORMLite。
提高我们开发数据的效率,特别是对于数据库使用频繁的项目开发。
配置:我们需要去官网下载两个jar(ormlite-android-5.0.jar,ormlite-core-5.0.jar),
官网:http://ormlite.com/releases/
优点:轻量级;使用简单,易上手;封装完善;
缺点:由于使用到了反射,效率较低。
二使用:
1,配置Bean类:
@DatabaseTable(tableName = "tb_person") //标明这是数据库中一张表,表名为tb_person
public class Person {
@DatabaseField(generatedId = true) //对应表tb_person,中id列,id为主键且自动生成
private int _id;
@DatabaseField(columnName = "name")//对应列name
private String name;
@DatabaseField(columnName = "descri")//对应列descri
private String descri;
public Person(){}
public Person(String name, String descri){
this.name = name;
this.descri = descri;
}
public int get_id() {
return _id;
}
public String getName() {
return name;
}
public String getDescri() {
return descri;
}
public void set_id(int _id) {
this._id = _id;
}
public void setName(String name) {
this.name = name;
}
public void setDescri(String descri) {
this.descri = descri;
}
@Override
public String toString() {
return "Person{" +
"_id=" + _id +
", name='" + name + '\'' +
", descri='" + descri + '\'' +
'}';
}
}
2,定义DBHelper,继承OrmLiteSqliteOpenHelper。
public class OrmDBHelper extends OrmLiteSqliteOpenHelper{ private static final String DB_NAME = "test.db";//数据库名 private static final int DB_VERSION = 2;//版本号 private static OrmDBHelper instance;//单例模式 private Map<String, Dao> daos = new HashMap<String, Dao>(); public OrmDBHelper(Context context){ super(context, DB_NAME, null, DB_VERSION); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) { try{ TableUtils.createTable(connectionSource, Person.class);//数据库创建时 }catch (Exception e){ } } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int i, int i1) { try{//版本升级,数据库更新 TableUtils.dropTable(connectionSource, Person.class, true); onCreate(sqLiteDatabase, connectionSource); }catch (Exception e){ } } /** * 获取单例 * @param context * @return */ public static synchronized OrmDBHelper getInstance(Context context){ Context ct = context.getApplicationContext(); if(instance == null){ synchronized (OrmDBHelper.class){ if(instance == null){ instance = new OrmDBHelper(ct); } } } return instance; } /** * 通过类名获取dao */ public Dao getDao(Class clazz) throws SQLException { Dao dao = null; String name = clazz.getSimpleName(); if(!daos.containsKey(name)){ dao = super.getDao(clazz); daos.put(name, dao); }else{ dao = daos.get(name); } return dao; } /** * 释放资源 */ public void close(){ for(String key : daos.keySet()){ Dao dao = daos.get(key); dao = null; } daos.clear(); } }
3,生成实例类Bean对应的BeanDao:
public class PersonDao {
private Context context;
private OrmDBHelper mHelper;
private Dao<Person, Integer> mDao;
public PersonDao(Context context){
this.context = context;
try{
mHelper = OrmDBHelper.getInstance(context);
mDao = mHelper.getDao(Person.class);
}catch (Exception e){
e.printStackTrace();
}
}
//添加Person
public void add(Person person){
try {
mDao.create(person);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void delete(Person person){
try {
mDao.delete(person);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void update(Person person) {
try {
mDao.update(person);
} catch (SQLException e) {
e.printStackTrace();
}
}
public List<Person> queryAll(){
List<Person> persons = null;
try {
persons = mDao.queryForAll();
} catch (SQLException e) {
e.printStackTrace();
}
return persons;
}
}
4,调用:
personDao = new PersonDao(getApplicationContext());
Person person = new Person("张三", "2B青年"); personDao.add(person);
参考:http://blog.csdn.net/lmj623565791/article/details/39122981
相关文章推荐
- android平台Ormlite框架简易入门笔记
- OrmLite框架 ——OrmLite 入门(android数据库操作框架)
- Android 快速开发系列 ORMLite 框架最佳实践
- android Sqlite数据库对象模型ORMLite框架学习
- Android数据库ORMlite框架翻译系列(第一章)
- 从无到有看文档-----Android中ORMLite框架入门使用指南(为了小白)
- Android OrmLite框架的简单使用
- android对象关系映射框架ormlite之一对多(OneToMany)
- Android 关于ormlite数据库框架解析(二)
- Android ORMLite 框架的入门用法
- 项目中 Android ORMLite 框架的入门用法
- Android 数据库—ORMlite 框架详情
- Android ormlite 一对多关联映射笔记
- Android中数据库操作框架Ormlite介绍与使用
- Android ORMLite框架
- android对象关系映射框架ormlite学习之单表操作
- Android 快速开发系列 ORMLite 框架最佳实践
- Android数据库ORMlite框架翻译系列(第一章)
- Android Ormlite 学习笔记1 -- 基础
- 混淆android的第三方数据库框架Ormlite