• 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 (转载)

        

      

        

        

  • 相关阅读:
    Python 包的概念
    EXCEL基础篇(二)
    EXCEL基础篇(一)
    JavaScript(四)Bom
    JavaScript(三)Dom查找、设置标签属性及内容、绑定事件
    erlang并发编程(二)
    OTP&ETS
    erlang中http请求
    erlang证书加密
    erlang并发编程
  • 原文地址:https://www.cnblogs.com/mark0812/p/6123302.html
Copyright © 2020-2023  润新知