XUtils对数据库的简单操作

来源:互联网 发布:手腕踝关节痛 知乎 编辑:程序博客网 时间:2024/05/29 03:15

目前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对数据库的简单增删改查的操作,不需要写很多的建表和对列的操作的语句,非常方便

0 0