xutils3数据库的简单使用(增删查改)

试了下xutils3的数据库操作,还是挺方便的,简单来说就是三个步骤:
一、建一个bean类,参考下面User.class
二、初始化数据库
三、调方法增删查改

bean类,User.class

package administrator.test;

import org.xutils.db.annotation.Column;
import org.xutils.db.annotation.Table;

@Table(name = "User")
public class User {

    @Column(name = "id", isId = true)
    private int id;

    @Column(name = "name")
    private String name;

    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 User(String name) {
        this.name = name;
    }

    //一定要构造一个无参方法
    public User(){

    }
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }
}

然后就是使用例子

package administrator.test;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

import org.xutils.DbManager;
import org.xutils.common.util.LogUtil;
import org.xutils.ex.DbException;
import org.xutils.x;

import java.util.List;

public class MainActivity extends AppCompatActivity {

    private DbManager db;

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

        initDb();

        try {
            add();
            add();
            find();
            update();
            find();
            delete();
            find();
        } catch (DbException e) {
            e.printStackTrace();
        }

    }

    private void initDb() {
        //本地数据的初始化
        DbManager.DaoConfig daoConfig = new DbManager.DaoConfig()
                .setDbName("xutils3_db") //设置数据库名
                .setDbVersion(1) //设置数据库版本
                .setDbOpenListener(new DbManager.DbOpenListener() {
                    @Override
                    public void onDbOpened(DbManager db) {
                        db.getDatabase().enableWriteAheadLogging();
                        //开启WAL, 对写入加速提升巨大(作者原话)
                    }
                })
                .setDbUpgradeListener(new DbManager.DbUpgradeListener() {
                    @Override
                    public void onUpgrade(DbManager db, int oldVersion, int newVersion) {
                        //数据库升级操作
                    }
                });
        db = x.getDb(daoConfig);
    }

    private void add() throws DbException {
        User user = new User("用户1");
        db.save(user);
        LogUtil.i("---保存数据");
    }

    private void find() throws DbException {
        List<User> list = db.findAll(User.class);
        LogUtil.i("---" + list.toString());
    }

    private void update() throws DbException {
        List<User> list = db.findAll(User.class);
        User user = list.get(0);
        user.setName("更换姓名");
        db.update(user);
        LogUtil.i("---更新数据");
    }

    private void delete() throws DbException {
        List<User> list = db.findAll(User.class);
        db.delete(list.get(0));
        LogUtil.i("---删除数据");
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,769评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,532评论 25 708
  • Yunghoo的第74篇原创 2016.12.22 90后第一批进入晚婚年纪,并都已过了25,现如今,开始往奔三的...
    yunghoo阅读 654评论 0 0
  • so happy
    从越阅读 161评论 0 0