XUtils对数据库的简单操作

目前XUtils主要有四大模块:

1、DbUtils模块:用于数据库的操作,也是需要注解方式指定表名和列名;
2、ViewUtils模块:注解方式就可以进行UI,资源和事件绑定;
3、HttpUtils模块:用于网络数据的请求;
4、BitmapUtils模块:用于图片的下载和绑定视图;

本文主要讲对数据库的操作

< 一 >添加依赖:

compile 'org.xutils:xutils:3.3.40'

< 二 >注册MyApplication

/**
  * 注意:MyApplication要在清单文件中注册
  */
public class MyApplication extends Application {

    /**
     * 实现单例  任何一个页面都可以拿到这个类的数据和对象
     */
    private static MyApplication instance;

    public static MyApplication getInstance(){
        return instance;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        x.Ext.init(this);//注册xUtils
        x.Ext.setDebug(false);
        instance = this;
    }

    /**
     * 获取数据库的管理器
     * 通过管理器进行增删改查
     */
    public DbManager getDbManager(){
        DbManager.DaoConfig daoConfig = new DbManager.DaoConfig();
        //默认在data/data/包名/database/数据库名称
        daoConfig.setDbName("XXX.db");
        //通过manager进行增删改查
        return x.getDb(daoConfig);
    }
}

< 三 >在需要存入的数据上添加注解

public static class DataBean {
        @Column(name = "id",isId = true,autoGen = true)//注释列名主键,自增长
        private int id;

        @Column(name = "userName")//注释列名
        private String userName;

        @Column(name = "uesrLogo")//注释列名
        private String uesrLogo;

        @Column(name = "commentCount")//注释列名
        private int commentCount;


< 四 > 增删改查

/**
     * 实现数据库的存储
     */
    public void save(View view) {
        //获取数据库管理器
        DbManager manager = MyApp.getInstance().getDbManager();
        //数据
        DataBean data= new DataBean();
        // data.setId(1);//自增长的id设置了也是没有用的
        data.setUserName("XXX");
        data.setUesrLogo("http://my.csdn.net/");
        data.setCommentCount(100);
        try {
            //实现数据的存储,配合DataBean 类中的注释才能进行对应的存储
            //表名和列名都是在DataBean 中注释决定的。
            manager.save(data);//保存
            // manager.saveOrUpdate(user);//保存或更新,这如果数据不存在是不会保存的,存在的话会跟新
        } catch (DbException e) {
            e.printStackTrace();
        }

    }

    /**
     * 删除数据
     * //删除整个表的所有数据
     * //manager.delete(DataBean .class);
     * //删除指定id的记录
     * //manager.deleteById(DataBean .class,1);
     * //删除某一类数据  where userName="张三"
     * manager.delete(DataBean .class, WhereBuilder.b("userName", "=", "王五").and("commentCount", "<", "100"));
     */
    public void delete(View view) {
        DbManager manager = MyApp.getInstance().getDbManager();
        try {
            manager.delete(DataBean .class, WhereBuilder.b("userName", "=", "李文"));
        } catch (DbException e) {
            e.printStackTrace();

        }
    }

    /**
     * 修改数据
     */
    public void update(View view) {
        DbManager manager = MyApp.getInstance().getDbManager();
        //要修改的数据,以键值对的显示传入,
        KeyValue keyValue = new KeyValue("userName", "李世民");
        try {
            //过滤commentCount小于20的数据就修改,这里可以设置多个keyValue值
            manager.update(DataBean .class, WhereBuilder.b("commentCount", "<", "20"), keyValue);
        } catch (DbException e) {
            e.printStackTrace();
        }
    }

    /**
     * 查找数据
     */
    public void query(View view) {
        //查询所有
        //获取管理器
        DbManager manager = MyApp.getInstance().getDbManager();
        try {
            List<DataBean > dataList = manager.findAll(DataBean .class);
            //manager.findById()找单个的对象
            for (int i = 0; i < dataList .size(); i++) {
                Log.e("TAG", dataList .get(i).toString());//打印显示
            }

        } catch (DbException e) {
            e.printStackTrace();
        }
    }

这里就是XUtils对数据库的简单增删改查的操作,不需要写很多的建表和对列的操作的语句,非常方便

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值