ormlite的使用方法
ormlite是什么?
简单来说,就是我们定义一个实体类,利用这个框架,它可以帮我们吧这个实体映射到我们的数据库中,在Android中是SQLite,数据中的字段就是我们定义实体的成员变量。
官网地址为www.ormlite.com;我们需要在官网下两个依赖的jar包然后放在项目的libs目录中。

如何使用oralite
添加ormlite注解
这是我们新建的Message类,如图,当然还要设置get/set方法和一个无参构造函数
学过hibernate应该知道jpa,这里我们也可以使用标准的jpa来代替。
然后新建个类继承OrmLiteSqliteOpenHelper来生存数据库结构信息。
public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
private static final String DB_NAME = "mydata.db"; // 数据库名称
private static final int version = 2; // 数据库版本
//定义每一张表的成员变量,其中一个功能:关闭helper,所有DAO对象清理
private Dao<Message, Integer> messageDao;
public Dao<Message, Integer> getMessageDao() {
if (messageDao==null){
try {
messageDao = getDao(Message.class);
} catch (SQLException e) {
e.printStackTrace();
}
}
return messageDao;
}
public DatabaseHelper(Context context) {
super(context, DB_NAME, null, version);
}
/*
* 1.此方法,不会自定执行,因为它不是回调函数
* 2.最好也不要自己调用,因为只应该执行1次
*/
@Override
public void onCreate(SQLiteDatabase arg0, ConnectionSource arg1) {
// TODO Auto-generated method stub
}
/*
* 此方法,不会自定执行,因为它不是回调函数
*/
@Override
public void onUpgrade(SQLiteDatabase arg0, ConnectionSource arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void close() {
super.close();
if (messageDao!=null){
messageDao = null;
}
}
}
然后再我们android项目的mainactivity调用;
public class MainActivity extends Activity {
private List<Message> messageList;//用于ORMLite 的演示
private DatabaseHelper db_helper; //其它activity或者service都无法获得
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.weixin);
}
//UI呈现在眼前
@Override
protected void onResume(){
Log.i("ok", "onResume,界面出现了,app:"+app);
使用ORMLite
db_helper = new DatabaseHelper(this);
Dao<Message, Integer> message_dao = db_helper.getMessageDao();
try {
messageList = message_dao.queryForAll(); //查询所有
//Log.i("ormlite", "记录条数:"+messageList3.size());
String t = "记录条数:"+messageList3.size();
Toast.makeText(this, t, Toast.LENGTH_LONG).show();
} catch (SQLException e) {
String t = "记出错:"+e.getMessage();
Toast.makeText(this, t, Toast.LENGTH_LONG).show();
}
super.onResume();
}
@Override
//UI完全消失在眼前,完全被另外一个进程覆盖
protected void onPause(){
Log.i("ok", "onPause,被抛弃");
db_helper.close();//??到底要不要?
super.onPause();
}
}
这里附上ormlite的相关语句的使用方法:http://blog.csdn.net/industriously/article/details/50790624 (转载)
ormlite的使用方法的更多相关文章
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- OrmLite数据库的使用方法
第一步:导入架包 1.将orm的两个支持包放入project视图下的你的工程的lib目录里(这两个JAR包网上都有,GitHub上最新) 2.添加依赖:在file文件目录下的proje ...
- Android Ormlite 学习笔记1 -- 基础
Ormlite 是一个开源Java数据实体映射框架.其中依赖2个核心类库: 1.ormlite-android-4.48.jar 2.ormlite-core-4.48.jar 新建项目,引用上面2个 ...
- [翻译] ORMLite document -- How to Use Part (二)
前言 此文档翻译于第一次学习 ORMLite 框架,如果发现当中有什么不对的地方,请指正.若翻译与原文档出现任何的不相符,请以原文档为准.原则上建议学习原英文文档. ----------------- ...
- [翻译] ORMLite document -- How to Use Part (一)
前言 此文档翻译于第一次学习 ORMLite 框架,如果发现当中有什么不对的地方,请指正.若翻译与原文档出现任何的不相符,请以原文档为准.原则上建议学习原英文文档. ----------------- ...
- [翻译] ORMLite document -- Getting Started
前言 此文档翻译于第一次学习 ORMLite 框架,如果发现当中有什么不对的地方,请指正.若翻译与原文档出现任何的不相符,请以原文档为准.原则上建议学习原英文文档. ----------------- ...
- Android 数据库框架OrmLite的使用(二)
前面说了OrmLite的基本使用,现在说下更规范的做法以及常用的一些功能. 1.DatabaseHelper package com.example.ormlite.db; import java.s ...
- Loogn.OrmLite映射优化记录
大家对ORM效率的争议多半在映射性能方面.自己的ORMLite也是如此,经过前段时间的折腾,已经找不出一个简单的方法再提升一下这部分的方法了.在此把优化涉及的几点记录一下. 注:用于性能测试的Code ...
- 谈谈我的入门级实体框架Loogn.OrmLite
每次看到有新的ORM的时候,我总会留意一下,因为自己也写过一个这样的框架,人总是有比较之心的.我可能会down下来跑一跑,也可能不会这么做,这个取决于跑起来的难易程度.我是很懒的,有XML配置或其他稍 ...
随机推荐
- Ruby混合类型
当一个类拥有可以从多个父类继承的特点,类应该显示多重继承. Ruby没有直接支持多继承,但Ruby模块有另一个精彩使用.他们几乎消除多重继承的需要,提供了一个工厂,称为混入. 混合类型给一个精彩的控制 ...
- Java笔记:有啥记啥
构造方法可以初始化,也可以在调用的时候传参 1android需要java什么水平 2java封装
- javascript之循环保存数值
javascript之循环保存数值 语言都是相通的,这句话在我学javascript时有的深刻的意识.js中的for循环与java中的for循环有很大相似之处. 先看下面这段代码 for(var i= ...
- 浅谈redis和memcached的区别
缓存技术方面说到redis大家必然会联想到memcached,了解它们的人应该都知道以下几点吧 redis与 memcached相比,redis支持key-value数据类型,同事支持list.set ...
- Java Spring的IoC和AOP的知识点速记
Spring简介 Spring解决的最核心的问题就是把对象之间的依赖关系转为用配置文件来管理,这个是通过Spring的依赖注入机制实现的. Spring Bean装配 1. IOC的概念以及在Spri ...
- TMS320F28027/26/23/22/21/20芯片解密单片机破解原理!
TMS320F28027/26/23/22/21/20芯片解密单片机破解 TMS320F2802系列芯片解密型号: TMS320F28027F.TMS320F280270.TMS320F28027.T ...
- d3 中exit() remove()正确工作的方式
在官网中给出的代码[1]是有问题的,如下的代码并不能正常工作: // Update… var p = d3.select("body").selectAll("p&quo ...
- C#调用C++动态库方法及动态库封装总结
我只是粗浅的学习过一些C++语法, 变量类型等基础内容, 如有不对的地方还望指出. 如果你跟我一样, 对指针操作不了解, 对封装C++动态库头疼的话, 下面内容还是有帮助的. 转载请注明出处: htt ...
- 由overflow-x:scroll产生的收获
我们都知道float:left属性会让元素向左浮动,如果用一个div将几个左浮动的li包起来,是不是div的宽度被li撑得很长很长呢,代码: <!DOCTYPE html> <htm ...
- Java throws Exception、try、catch
throws Exception是方法后面接的 意思是向上级抛出异常 try{}里面的异常会被外面的catch捕捉到 抛出异常是throw new Exception("异常"); ...