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的使用方法的更多相关文章

  1. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  2. OrmLite数据库的使用方法

    第一步:导入架包     1.将orm的两个支持包放入project视图下的你的工程的lib目录里(这两个JAR包网上都有,GitHub上最新)     2.添加依赖:在file文件目录下的proje ...

  3. Android Ormlite 学习笔记1 -- 基础

    Ormlite 是一个开源Java数据实体映射框架.其中依赖2个核心类库: 1.ormlite-android-4.48.jar 2.ormlite-core-4.48.jar 新建项目,引用上面2个 ...

  4. [翻译] ORMLite document -- How to Use Part (二)

    前言 此文档翻译于第一次学习 ORMLite 框架,如果发现当中有什么不对的地方,请指正.若翻译与原文档出现任何的不相符,请以原文档为准.原则上建议学习原英文文档. ----------------- ...

  5. [翻译] ORMLite document -- How to Use Part (一)

    前言 此文档翻译于第一次学习 ORMLite 框架,如果发现当中有什么不对的地方,请指正.若翻译与原文档出现任何的不相符,请以原文档为准.原则上建议学习原英文文档. ----------------- ...

  6. [翻译] ORMLite document -- Getting Started

    前言 此文档翻译于第一次学习 ORMLite 框架,如果发现当中有什么不对的地方,请指正.若翻译与原文档出现任何的不相符,请以原文档为准.原则上建议学习原英文文档. ----------------- ...

  7. Android 数据库框架OrmLite的使用(二)

    前面说了OrmLite的基本使用,现在说下更规范的做法以及常用的一些功能. 1.DatabaseHelper package com.example.ormlite.db; import java.s ...

  8. Loogn.OrmLite映射优化记录

    大家对ORM效率的争议多半在映射性能方面.自己的ORMLite也是如此,经过前段时间的折腾,已经找不出一个简单的方法再提升一下这部分的方法了.在此把优化涉及的几点记录一下. 注:用于性能测试的Code ...

  9. 谈谈我的入门级实体框架Loogn.OrmLite

    每次看到有新的ORM的时候,我总会留意一下,因为自己也写过一个这样的框架,人总是有比较之心的.我可能会down下来跑一跑,也可能不会这么做,这个取决于跑起来的难易程度.我是很懒的,有XML配置或其他稍 ...

随机推荐

  1. 网络请求 __ NSURLSession

    首先配置into.plist文件 1. 添加 App Transport Security Settings , Type栏自动变为Dictionary 2. 点击左边箭头,使之向下,点击右边加号,添 ...

  2. c# 使用泛型类型作为参数

    泛型作为一种经常使用的类型,有时需要在方法之间传递,不了解的话可能会束手无策. 比如我定义一个方法 processList  需要把List<T>  作为参数传入,这时可以这样写 publ ...

  3. llvm-summary

    llvm 学习总结 Type define int类型 IntegerType::get(mod->getContext(), 32) long类型 IntegerType::get(mod-& ...

  4. Enterprise Achitect使用与类的关系的简单介绍

    本文作为Enterprise Achitect初步使用,另外也是类图基本介绍,是设计模式的基础.  类的关系有泛化(Generalization).实现(Realization).依赖(Depende ...

  5. 【Java EE 学习 56】【酒店会员管理系统技术点总结】

    一.树状菜单加载 这是js的一个典型应用,使用zTree插件能够完成该项任务http://www.ztree.me/v3/main.php 我是用的版本:zTree2.5 使用方法: <%@ p ...

  6. jQuery对象与dom对象相互转换

    核心提示:jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S('#id' ...

  7. F#之旅9 - 正则表达式

    今天,cozy群有个群友发了条正则,问正则匹配相关的问题.虽然他的问题用html selector去处理可能更好,但是我也再一次发现:我忘了正则怎么写的了! 忘掉正则是有原因的,这篇文章会简单记录下F ...

  8. java时间计算,获取某月第一天和最后一天

    //获取前月的第一天 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); //获取当前月第一天: Calendar ...

  9. python 学习第二天

    由于换了博客,第一篇没有在博客园写,写在了开源中国上,链接地址为http://my.oschina.net/u/254063/blog/719289,大家有兴趣可以看看 一, python 数据类型 ...

  10. react native 键盘遮挡按钮点击事件

    在做项目的时候,我遇到一个很奇怪的问题,我先描述一下问题,在InputText输入内完成以后,点击按钮进行下一步的操作的时候,第一次点击的时候,按钮没有响应,第二次点击的时候才会响应.这样对用户体验有 ...