第一步:導入架包
1、將orm的兩個支持包放入project視圖下的你的工程的lib目錄里(這兩個JAR包網上都有,GitHub上最新)


2、添加依賴:在file文件目錄下的project structure里選擇你的APP,選擇depedence目錄
點擊加號選擇第二個library depedence選擇lib目錄下點擊選擇添加依賴


第二步:使用ormList創建數據庫;
1、首先要生成一個存放你各種屬性的一個屬性類,在類的開始添加注解

表明這是一張表,名字叫做cardImg
然后每條屬性都應添加注解,表明是表單中的每一列

到這里屬性類就算完美的建成了,次數省略了每條屬性的get與set方法以及有參和無參構造方法
2、然后就要創建數據庫了,這里與基本的SQList數據庫的創建方法也沒有什么大樣,這里只附上代碼,大家自己領悟
1 public class DataBaseHelper extends OrmLiteSqliteOpenHelper { 2 private static final String DB_NAME="biying.db"; 3 private static final int DB_VERSON=1; 4 private DataBaseHelper(Context mContext){ 5 super(mContext,DB_NAME,null,DB_VERSON); 6 } 7 /** 8 * 基本單例模式: 9 * 1、先把構造函數私有化 10 * 2、對外提供一個靜態方法 11 * 3、在方法中判斷如果已經存在就不再創建,如果不存在再創建 12 * 這樣保證永遠只有一個DataBaseHelper對象 13 * 4、為了線程安全,需要在方法前提供一個線程安全關鍵字synchronized 14 * 如果一個調用時,另一個就不允許調用 15 */ 16 private static DataBaseHelper dataBaseHelper; 17 public synchronized static DataBaseHelper getInstance(Context mContext){ 18 if (dataBaseHelper == null) { 19 dataBaseHelper = new DataBaseHelper(mContext); 20 } 21 return dataBaseHelper; 22 } 23 24 @Override 25 public void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) { 26 //創建表 27 try { 28 //CardImg 29 TableUtils.createTableIfNotExists(connectionSource, CardImg.class); 30 31 } catch (SQLException e) { 32 e.printStackTrace(); 33 } 34 } 35 36 @Override 37 public void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int i, int i1) { 38 //刪除表 39 try { 40 TableUtils.dropTable(connectionSource,CardImg.class,true); 41 } catch (SQLException e) { 42 e.printStackTrace(); 43 } 44 } 45 46 }
3、創建好屬性類以及創建好了數據庫之后,就要根據屬性類來專門寫一個針對於此屬性類的一個數據庫操作對象了,
大家一定要記住,在使用orm的時候最好就是一個表單對應一個數據庫操作對象,這樣方便操作也不會混淆,這里就只附上代碼,大家自己領悟。
1 package com.jereh.biyingapplication.dao; 2 3 import android.content.Context; 4 5 import com.j256.ormlite.dao.Dao; 6 import com.j256.ormlite.stmt.DeleteBuilder; 7 import com.jereh.biyingapplication.db.DataBaseHelper; 8 import com.jereh.biyingapplication.entity.CardImg; 9 import com.jereh.biyingapplication.entity.Images; 10 11 import java.sql.SQLException; 12 import java.util.List; 13 14 /** 15 * Created by zhangdi on 2016/8/31. 16 */ 17 public class CardImgDao { 18 private Dao<CardImg,Integer> cardImgDao; 19 public CardImgDao(Context mContext){ 20 DataBaseHelper dataBaseHelper = DataBaseHelper.getInstance(mContext); 21 try { 22 cardImgDao = dataBaseHelper.getDao(CardImg.class); 23 } catch (SQLException e) { 24 e.printStackTrace(); 25 } 26 } 27 28 /** 29 * 添加一條數據,一個對象 30 * @param cardImg 31 * @return 32 */ 33 public long addCardImg(CardImg cardImg){ 34 int id =0; 35 try { 36 id = cardImgDao.create(cardImg); 37 } catch (SQLException e) { 38 e.printStackTrace(); 39 } 40 return id; 41 } 42 43 public void addAll(List<CardImg> images){ 44 for (CardImg img:images){ 45 addCardImg(img); 46 } 47 } 48 /** 49 * 查詢表中所有屬性 50 * @return 表的集合 51 */ 52 public List<CardImg> findAll(){ 53 try { 54 return cardImgDao.queryForAll(); 55 } catch (SQLException e) { 56 e.printStackTrace(); 57 } 58 return null; 59 } 60 /** 61 * 根據對象刪除某條數據 62 * @param cardImg 63 */ 64 public void delete(CardImg cardImg){ 65 DeleteBuilder deleteBuilder = cardImgDao.deleteBuilder(); 66 try { 67 deleteBuilder.where().eq("img",cardImg.getImg()); 68 deleteBuilder.delete(); 69 } catch (SQLException e) { 70 e.printStackTrace(); 71 } 72 } 73 74 /** 75 * 刪除所有數據 76 * @param images 77 */ 78 public void removeAll(List<CardImg> images){ 79 for (CardImg img:images){ 80 delete(img); 81 } 82 } 83 }
4、至此使用orm創建數據庫的方法基本上算是圓滿成功了,在實體類中需要調用的時候只需要把數據庫操作對象即你寫的
那個dao給new出來即可通過數據庫操作對象來對數據庫中的這張表單實現增刪改查等一系列的操作了。
關於ormlite的使用就介紹到這里,希望對大家能有所幫助!