一.首先我對數據庫的操作基於LitePal的,是基於面向對象思想的,所以首先我先講怎么使用LitePal
1.在build.garde(Module:app)里面的
1 dependencies{ 2 //添加的依賴 3 compile 'org.litepal.android:core:1.3.2' 4 }
導入以上的依賴,其中1.3.2是我當前使用的版本,你們可以自己去找最新的
2.配置litepal.xml文件。右擊app/src/main目錄->New->Directory,創建一個assets目錄,然后
在assets目錄下再新建一個litepal.xml文件,接着編輯litepal.xl文件中的內容,如下
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <litepal> 3 3 <dbname value="Person"></dbname> 4 4 <version value="1"></version> 5 5 <list> 6 6 <mapping class="cct.login.Person"></mapping> 7 7 </list> 8 8 </litepal>
<dbname>標簽用於指定數據庫名,<version>標簽用於指定數據庫版本號,<list>標簽用於指定所有的
映射模型,以后就會用到,。<maping class=" ">這里面是你要生成數據庫的類,因為會直接把你的類的
屬性名變成數據庫對應數據表的列名。如果要多一張表,就多一個mapping,里面寫上對應的類,更新數據
庫的話,只要每次在version 的value那邊的值加1就可以了。
3.最后還需要配置一下LitePalApplication,修改AnndroidManifest.xml中的代碼,如下
1 1 <application 2 2 //只需要加下面一句就行了,其他的不用替換 3 3 android:name="org.litepal.LitePalApplication" 4 4 android:allowBackup="true" 5 5 android:icon="@mipmap/ic_launcher" 6 6 android:label="@string/app_name" 7 7 android:supportsRtl="true" 8 8 android:theme="@style/AppTheme"> 9 9 ...... 10 10 </application>
以上就是LitePal的配置工作
二.LitePal的粗略的增刪改查的操作
1.創建數據庫:
只需 Connector.getDatabase();
2.創建數據庫中的表:
你的類要繼承DataSupport,例如我需要一張Person的表
如果你在Person表里需要name和age倆個列
public class Person extends DataSupport{ private String name; private String age; public String getName() { return useName; } public void setName(String name) { this.name = name; } public String getAge() { return useName; } public void setAge(String age) { this.age =age; } }
3.添加數據
1 Person person =new Person (); 2 person.setName("Tom"); 3 person.setAge("10); 4 //保存數據必須要save方法 5 person.save();
4.更新數據
1 Person person =new Person (); 2 person.setName("Jane"); 3 person.setAge("12");
4//就會把上面的Tom和10,改為Jane和12 5 person.updateAll(" name=? and age=?","Tom","10");
5.刪除數據
1 DataSupport.deleteAll(Person.class,"age<?","10");//會把符合條件的數據刪除掉
2 DataSupport.deleteAll()//如果不約束條件,你就要刪除表中所有數據
6.查詢數據
我們把查詢到的數據通過日志打印出來,當然可以使用ListView了,不過出於
簡便,使用日志打印
1 //findAll()返回值是一個Person類型的List集合 2 List<Person> persons=DataSupport.findAll(Person.class); 3 for(Person person:persons) 4 { 5 Log.d("MainActivity",person.getName()); 6 Log.d("MainActivity",person.getAge()); 7 }
1 //select()方法用於指導查詢哪幾列的數據,比如只查詢name這列的數據 2 List<Person> persons=DataSupport.select("name).find(Book.class) 3 //where()方法用於指定查詢的約束條件 4 List<Person>persons= 5 DataSupport.where("age>?","10").find(Book.class) 6 當然還有order,limit,offset方法了,具體我就不做介紹有興趣的自己查閱 7 這五個方法還可以一起連綴使用
8 你還可以用原生態的Cursor c=DataSupport.findBySql();