zoukankan      html  css  js  c++  java
  • ormlite的使用方法

    ormlite是什么?

      简单来说,就是我们定义一个实体类,利用这个框架,它可以帮我们吧这个实体映射到我们的数据库中,在Android中是SQLite,数据中的字段就是我们定义实体的成员变量。

       官网地址为www.ormlite.com;我们需要在官网下两个依赖的jar包然后放在项目的libs目录中。

                        

    如何使用oralite

      添加ormlite注解

        这是我们新建的Message类,如图,当然还要设置get/set方法和一个无参构造函数

        学过hibernate应该知道jpa,这里我们也可以使用标准的jpa来代替。

     

       然后新建个类继承OrmLiteSqliteOpenHelper来生存数据库结构信息。

          

     1 public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
     2 
     3     private static final String DB_NAME = "mydata.db"; // 数据库名称
     4     private static final int version = 2; // 数据库版本
     5     //定义每一张表的成员变量,其中一个功能:关闭helper,所有DAO对象清理
     6     private Dao<Message, Integer> messageDao;
     7     
     8     public Dao<Message, Integer> getMessageDao() {
     9         if (messageDao==null){
    10             try {
    11                 messageDao = getDao(Message.class);
    12             } catch (SQLException e) {
    13                 e.printStackTrace();
    14             }
    15         }
    16         return messageDao;
    17     }
    18 
    19     public DatabaseHelper(Context context) {
    20         super(context, DB_NAME, null, version);
    21     }
    22 
    23     /*
    24      * 1.此方法,不会自定执行,因为它不是回调函数
    25      * 2.最好也不要自己调用,因为只应该执行1次
    26      */
    27     @Override
    28     public void onCreate(SQLiteDatabase arg0, ConnectionSource arg1) {
    29         // TODO Auto-generated method stub
    30         
    31     }
    32 
    33     /*
    34      * 此方法,不会自定执行,因为它不是回调函数
    35      */
    36     @Override
    37     public void onUpgrade(SQLiteDatabase arg0, ConnectionSource arg1, int arg2,
    38             int arg3) {
    39         // TODO Auto-generated method stub
    40         
    41     }
    42     
    43     @Override
    44     public void close() {
    45         super.close();
    46         if (messageDao!=null){
    47             messageDao = null;
    48         }
    49     }
    50 
    51 }

    然后再我们android项目的mainactivity调用;

      

     1 public class MainActivity extends Activity {
     2     
     3     private List<Message> messageList;//用于ORMLite 的演示
     4     private DatabaseHelper db_helper; //其它activity或者service都无法获得
     5     
     6     @Override
     7     protected void onCreate(Bundle savedInstanceState) {
     8         super.onCreate(savedInstanceState);
     9         setContentView(R.layout.weixin);
    10         
    11     }
    12 
    13  
    14     //UI呈现在眼前
    15     @Override
    16     protected void onResume(){
    17         Log.i("ok", "onResume,界面出现了,app:"+app);
    18         
    19         使用ORMLite
    20         db_helper = new DatabaseHelper(this);
    21         
    22         Dao<Message, Integer> message_dao = db_helper.getMessageDao();
    23         try {
    24             messageList = message_dao.queryForAll(); //查询所有
    25             //Log.i("ormlite", "记录条数:"+messageList3.size());
    26             String t = "记录条数:"+messageList3.size();
    27             Toast.makeText(this, t, Toast.LENGTH_LONG).show();
    28            
    29         } catch (SQLException e) {
    30             String t = "记出错:"+e.getMessage();
    31             Toast.makeText(this, t, Toast.LENGTH_LONG).show();
    32         }
    33         
    34         super.onResume();
    35     }
    36     
    37     
    38     @Override
    39     //UI完全消失在眼前,完全被另外一个进程覆盖
    40     protected void onPause(){
    41         Log.i("ok", "onPause,被抛弃");
    42         db_helper.close();//??到底要不要?
    43         super.onPause();
    44     }
    45     
    46     
    47     
    48 }

    这里附上ormlite的相关语句的使用方法:http://blog.csdn.net/industriously/article/details/50790624 (转载)

        

      

        

        

  • 相关阅读:
    tile38 复制配置
    The Guardian’s Migration from MongoDB to PostgreSQL on Amazon RDS
    tile38 一款开源的geo 数据库
    sqler sql 转rest api 的docker 镜像构建(续)使用源码编译
    sqler sql 转rest api javascript 试用
    sqler sql 转rest api redis 接口使用
    sqler sql 转rest api 的docker image
    sqler sql 转rest api 的工具试用
    apache geode 试用
    benthos v1 的一些新功能
  • 原文地址:https://www.cnblogs.com/mark0812/p/6123302.html
Copyright © 2011-2022 走看看