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

 

 

    

  

    

 

 

 

 

 

 

    

posted @ 2016-12-04 19:54  小怪物、  阅读(854)  评论(0编辑  收藏  举报