xUtils3之数据库笔记

来源:互联网 发布:mac合上盖子播放音乐 编辑:程序博客网 时间:2024/06/07 12:38

数据库的初始化放在Application,且必须提供获取数据库的方法,使得在应用程序的任何地方都可以直接获取数据库,并操作数据库,不然重复的获取与释放只能增加内存无谓的消耗


首先:修改AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

android:name=".AppApplication"


Application.java

package com.snow.myapplication;import android.app.Application;import org.xutils.DbManager;import org.xutils.x;/** * Created by snow on 2016/4/18. */public class AppApplication 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("snow_db")//创建数据库的名称                .setDbVersion(1)//数据库版本号                .setDbUpgradeListener(new DbManager.DbUpgradeListener() {                    @Override                    public void onUpgrade(DbManager db, int oldVersion, int newVersion) {                        // TODO: ...                        // db.addColumn(...);                        // db.dropTable(...);                        // ...                    }                });//数据库更新操作    }}

Child.java

package com.snow.myapplication;import org.xutils.DbManager;import org.xutils.db.annotation.Column;import org.xutils.db.annotation.Table;import org.xutils.ex.DbException;/** * Author: wyouflf * Date: 13-7-29 * Time: 下午5:04 */@Table(name = "child")public class Child {    @Column(name = "id", isId = true)    private int id;    @Column(name = "name")    private String name;    @Column(name = "email")    private String email;    @Column(name = "parentId" /*, property = "UNIQUE"//如果是一对一加上唯一约束*/)    private long parentId; // 外键表id    // 这个属性被忽略,不存入数据库    private String willIgnore;    @Column(name = "text")    private String text;    public Parent getParent(DbManager db) throws DbException {        return db.findById(Parent.class, parentId);    }    public long getParentId() {        return parentId;    }    public void setParentId(long parentId) {        this.parentId = parentId;    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getEmail() {        return email;    }    public void setEmail(String email) {        this.email = email;    }    public String getWillIgnore() {        return willIgnore;    }    public void setWillIgnore(String willIgnore) {        this.willIgnore = willIgnore;    }    public String getText() {        return text;    }    public void setText(String text) {        this.text = text;    }    @Override    public String toString() {        return "Child{" +                "id=" + id +                ", name='" + name + '\'' +                ", email='" + email + '\'' +                ", parentId=" + parentId +                ", willIgnore='" + willIgnore + '\'' +                ", text='" + text + '\'' +                '}';    }}

MainActivity.java

package com.snow.myapplication;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import org.xutils.DbManager;import org.xutils.ex.DbException;import org.xutils.x;import java.util.List;public class MainActivity extends AppCompatActivity {    private AppApplication appApplication;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        appApplication=new AppApplication();        DbManager db = x.getDb(appApplication.getDaoConfig());        Child child=new Child();        child.setName("小黑");        child.setEmail("gmaillove@163.com");        try {            db.save(child);        } catch (DbException e) {            e.printStackTrace();        }        try {            //List<Child> lyjPersons=db.selector(Child.class).findAll();            List<Child> lyjPersons=db.selector(Child.class).where("name","==","小白").findAll();            System.out.println("总共找到:"+lyjPersons.size());            for (int i=0;i<lyjPersons.size();i++){               System.out.println("Child:"+i+"  .name="+lyjPersons.get(i).getName());                lyjPersons.get(i).setName("小白猪");                db.update(lyjPersons.get(i));               // db.delete(lyjPersons.get(i));            }        } catch (DbException e) {            e.printStackTrace();        }    }}

package com.snow.myapplication;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import org.xutils.DbManager;
import org.xutils.ex.DbException;
import org.xutils.x;
import java.util.List;


public class MainActivity extends AppCompatActivity {


    private AppApplication appApplication;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        appApplication=new AppApplication();

        //添加数据
        DbManager db = x.getDb(appApplication.getDaoConfig());
        Child child=new Child();
        child.setName("小黑");
        child.setEmail("gmaillove@163.com");
        try {
            db.save(child);
        } catch (DbException e) {
            e.printStackTrace();
        }


        //查找数据
        DbManager db = x.getDb(appApplication.getDaoConfig());
        Child child=new Child();
        child.setName("小黑");
        child.setEmail("gmaillove@163.com");
        try {
            List<Child> lyjPersons=db.selector(Child.class).findAll();
            for (int i=0;i<lyjPersons.size();i++){
               System.out.println("Child:"+i+"  .name="+lyjPersons.get(i).getName());
            }
        } catch (DbException e) {
            e.printStackTrace();
        }


        //查找字段
        DbManager db = x.getDb(appApplication.getDaoConfig());
        Child child=new Child();
        child.setName("小黑");
        child.setEmail("gmaillove@163.com")
        try {
            List<Child> lyjPersons=db.selector(Child.class).where("name","==","小黑").findAll();
            System.out.println("总共找到:"+lyjPersons.size());
            for (int i=0;i<lyjPersons.size();i++){
               System.out.println("Child:"+i+"  .name="+lyjPersons.get(i).getName());
            }
        } catch (DbException e) {
            e.printStackTrace();
        }

        //更新字段
        DbManager db = x.getDb(appApplication.getDaoConfig());
        Child child=new Child();
        child.setName("小黑");
        child.setEmail("gmaillove@163.com")

        try {
            List<Child> lyjPersons=db.selector(Child.class).where("name","==","小黑").findAll();
            System.out.println("总共找到:"+lyjPersons.size());

            for (int i=0;i<lyjPersons.size();i++){
               System.out.println("Child:"+i+"  .name="+lyjPersons.get(i).getName());
                lyjPersons.get(i).setName("小白猪");
                db.update(lyjPersons.get(i));
            }
        } catch (DbException e) {
            e.printStackTrace();
        }


       //删除字段
        DbManager db = x.getDb(appApplication.getDaoConfig());
        Child child=new Child();
        child.setName("小黑");
        child.setEmail("gmaillove@163.com")


        try {
            List<Child> lyjPersons=db.selector(Child.class).where("name","==","小黑").findAll();
            System.out.println("总共找到:"+lyjPersons.size());
            for (int i=0;i<lyjPersons.size();i++){
               System.out.println("Child:"+i+"  .name="+lyjPersons.get(i).getName());
                db.delete(lyjPersons.get(i));
            }
        } catch (DbException e) {
            e.printStackTrace();
        }

    }
}







0 3
原创粉丝点击