博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 数据库 LiteOrm 的使用
阅读量:7167 次
发布时间:2019-06-29

本文共 4587 字,大约阅读时间需要 15 分钟。

1、什么是 LiteOrm

      LiteOrm是一个小巧、强大、比系统自带数据库操作性能快1倍的 android ORM 框架类库,开发者一行代码实现数据库的增删改查操作,以及实体关系的持久化和自动映射。

 

2、github地址

      

 

3、使用

     下载最新的jar 包,然后导入到项目中

 

4、创建 orm 实例

    一个数据库对应一个LiteOrm的实例,如果一个App只有一个数据库,那么LiteOrm应该是全局单例的。 如果多次新建LiteOrm实例,系统会提示你应该关闭之前的数据库,也可能会引起其他未知错误。

   保持单例:

static LiteOrm liteOrm;if (liteOrm == null) {    liteOrm = LiteOrm.newSingleInstance(this, "liteorm.db"); } liteOrm.setDebugged(true); // open the log

 

 为了在项目中使用方便,我们创建了一个 DatabaseManager  工具类

 

package com.app.liteorm;import com.litesuits.orm.LiteOrm;import com.litesuits.orm.db.assit.QueryBuilder;import java.util.List;/** * Created by ${zyj} on 2016/7/4. */public class DatabaseManager {    private static LiteOrm liteOrm;    private static DatabaseManager ourInstance = new DatabaseManager();    private DatabaseManager() {        liteOrm = LiteOrm.newCascadeInstance( MyAppLication.getContext() , "wifi.db" ) ;    }    public static DatabaseManager getInstance() {        return ourInstance;    }    /**     * 插入一条记录     * @param t     */    public 
long insert(T t) { return liteOrm.save(t); } /** * 插入所有记录 * @param list */ public
void insertAll(List
list) { liteOrm.save(list); } /** * 查询所有 * @param cla * @return */ public
List
getQueryAll(Class
cla) { return liteOrm.query(cla); } /** * 查询 某字段 等于 Value的值 * @param cla * @param field * @param value * @return */ public
List
getQueryByWhere(Class
cla, String field, String[] value) { return liteOrm.
query(new QueryBuilder(cla).where(field + "=?", value)); } /** * 查询 某字段 等于 Value的值 可以指定从1-20,就是分页 * @param cla * @param field * @param value * @param start * @param length * @return */ public
List
getQueryByWhereLength(Class
cla, String field, String[] value, int start, int length) { return liteOrm.
query(new QueryBuilder(cla).where(field + "=?", value).limit(start, length)); } /** * 删除一个数据 * @param t * @param
*/ public
void delete( T t){ liteOrm.delete( t ) ; } /** * 删除一个表 * @param cla * @param
*/ public
void delete( Class
cla ){ liteOrm.delete( cla ) ; } /** * 删除集合中的数据 * @param list * @param
*/ public
void deleteList( List
list ){ liteOrm.delete( list ) ; } /** * 删除数据库 */ public void deleteDatabase(){ liteOrm.deleteDatabase() ; }}

使用

package com.app.liteorm;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        final TestModel testModel = new TestModel() ;        testModel.setId( 1001 ) ;        testModel.setName( "jack" ) ;        testModel.setPassword( "123456" ) ;        testModel.setLogin( true );        TestModel testMode2 = new TestModel() ;        testMode2.setId( 1002 ) ;        testMode2.setName( "jack2" ) ;        testMode2.setPassword( "123456" ) ;        testMode2.setLogin( false );        final List
list = new ArrayList<>() ; list.add( testModel ) ; list.add( testMode2 ) ; //插入一条数据 DatabaseManager.getInstance().insert( testModel ) ; //插入一个集合 DatabaseManager.getInstance().insertAll( list ) ; //查询所有 List
queryList = DatabaseManager.getInstance().getQueryAll( TestModel.class ) ; //删除一个数据 findViewById( R.id.delete_object ).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { DatabaseManager.getInstance().delete( testModel ); } }); //删除一个集合 findViewById( R.id.delete_database ).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { DatabaseManager.getInstance().deleteList( list ); } }); //删除一个表 findViewById( R.id.delete_table ).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { DatabaseManager.getInstance().delete( TestModel.class ); } }); //删除整个数据库 findViewById( R.id.delete_database ).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { DatabaseManager.getInstance().deleteDatabase(); } }); }}

  

5、相关代码已上传至    

 

参考

 

转载地址:http://gfqwm.baihongyu.com/

你可能感兴趣的文章