xutils2数据库模块的使用介绍

接手一个好久之前的项目里面用到的xUrils2的DbUtils模块,记下笔记。

原作者关于xutils2的地址

https://github.com/wyouflf/xUtils

xUtils jar包下载

http://download.csdn.net/download/qq_36580253/10242195

1.初始化

DbUtils dbUtils = DbUtils.create(context, name, version, new DbUpgradeListener() {

    @Override
    public void onUpgrade(DbUtils dbUtils, int i, int i1) {
        switch (i1){
            case 2:
                try {
                    dbUtils.execNonQuery("alter table person add gender varchar");
                } catch (DbException e) {
                    e.printStackTrace();
                }
            case 3:
                try {
                    dbUtils.createTableIfNotExist(School.class);
                } catch (DbException e) {
                    e.printStackTrace();
                }
                break;
        }

    }
});
//是否开启事务,默认为false
dbUtils.configAllowTransaction(true);
//是否开启日志输出,默认为true
dbUtils.configDebug(false);

Dbutils.creatDb()有多个不同的构造方法。可以只传一个上下文,也可以自己设置名称,版本,路径,数据库升级监听。

2,数据库表的实体类

@Table(name = "person" )
public class Person {
    //必须有id属性
    @Column(column = "id")
    public int id;
    @Column(column = "name")
    public String name ;
    @Column(column = "age")
    public int age;
    @Transient
    public int test;
    @Column(column = "gender")
    public String gender;
}
@Transient注解  表示实体类有这个字段,数据库表中没有这一列。

3.增,删,改,查

 /**
  *   */
 List<Person> dbList = new ArrayList<>();
 Person person2 = new Person();
 person2.name = "a";
 person2.age = 17;
 person2.gender="nan";
 dbList.add(person2);
 Person person3 = new Person();
 person3.name = "b";
 person3.age = 18;
 dbList.add(person3);
try {
     mDb.saveAll(dbList);
 } catch (DbException e) {
     e.printStackTrace();
 }

 /**
  *   */
 try {
     mDb.delete(Person.class, WhereBuilder.b("name","=","a"));
 } catch (DbException e) {
     e.printStackTrace();
 }
 /**
  *   */
 try {
     Person person = new Person();
     person.id = 1;
     person.age = 20;
     mDb.update(person, "age");
     //这里更改的条件只有id,这里参数的意思是将id=id的数据的age列属性改为user对象中的age属性
 } catch (DbException e) {
     e.printStackTrace();
 }
 /**
  *   */
 List<Person> all = null;
 try {
     all = mDb.findAll(Person.class);
 } catch (DbException e) {
     e.printStackTrace();
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值