xUtils之操作数据库

来源:互联网 发布:六轴机器人编程 编辑:程序博客网 时间:2024/06/07 22:49

初始化数据库

public class MyJApplication extends Application {    private DbManager.DaoConfig daoConfig;    public DbManager.DaoConfig getDaoConfig() {        return daoConfig;    }    @Override    public void onCreate() {        super.onCreate();        x.Ext.init(this);//Xutils初始化        daoConfig = new DbManager.DaoConfig()                .setDbName("mydb")//创建数据库的名称                .setDbVersion(1)//数据库版本号                .setDbUpgradeListener(new DbManager.DbUpgradeListener() {                    @Override                    public void onUpgrade(DbManager db, int oldVersion, int newVersion) {                        // TODO: ...                        // db.addColumn(...);                        // db.dropTable(...);                        // ...                    }                });//数据库更新操作    }}

上面的注释明了,有必要说明的一点是setDbDir(new File(“/sdcard”)),可以将数据库存储在你想存储的地方,如果不设置,那么数据库默认存储在/data/data/你的应用程序/database/xxx.db下。这里我们就默认放在应用程序下。

实体类

@Table(name = "history_url")public class HistoryUrl {    @Column(name = "_id", isId = true)    private int id;    @Column(name = "url")    private String url;    //保留空参构造器    public HistoryUrl() {    }    public HistoryUrl(int id, String url) {        this.id = id;        this.url = url;    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getUrl() {        return url;    }    public void setUrl(String url) {        this.url = url;    }    @Override    public boolean equals(Object o) {        if (this == o) return true;        if (o == null || getClass() != o.getClass()) return false;        HistoryUrl that = (HistoryUrl) o;        return url.equals(that.url);    }    @Override    public int hashCode() {        return url != null ? url.hashCode() : 0;    }    @Override    public String toString() {        return "HistoryUrl{" +                "id=" + id +                ", url='" + url + '\'' +                '}';    }}

查找与保存

 /**     * 返回包含所有记录的对象集合     *     * @return     */    public List<HistoryUrl> getAll(){        List<HistoryUrl> list = null;        DbManager db = null;        try {            db = x.getDb(config);            list = db.findAll(HistoryUrl.class);        } catch (Exception e) {            e.printStackTrace();        }finally {            try {                db.close();            } catch (IOException e) {                e.printStackTrace();            }        }        if(list==null){            list = new ArrayList<>();        }        return list;    }    /**     * 保存一条记录     *     * @param historyUrl     */    public void save(HistoryUrl historyUrl) {        DbManager db = null;        try {            db = x.getDb(config);            //将数据插入表, 同时将生成的id设置到对象中            db.saveBindingId(historyUrl);        }catch (Exception e){            e.printStackTrace();        }finally {            try {                db.close();            } catch (IOException e) {                e.printStackTrace();            }        }    }
0 0