DbUtils

package com.example.day_17dbutils;


import java.util.ArrayList;
import java.util.List;


import com.lidroid.xutils.DbUtils;
import com.lidroid.xutils.db.sqlite.Selector;
import com.lidroid.xutils.db.sqlite.WhereBuilder;
import com.lidroid.xutils.exception.DbException;


import android.os.Bundle;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import android.view.Menu;
import android.view.View;


public class MainActivity extends Activity {


private DbUtils dbUtils;


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


dbUtils = DbUtils.create(this, "user.db");


}
                                          
// 插入          
public void insert(View v) {
List<User> list = new ArrayList<User>();
User user = new User("宽叔", "n", "99");
list.add(user);
for (int i = 0; i < 3; i++) {


User user2 = new User("宽叔" + i, "n" + i, "99" + i);
list.add(user2);
}


/*
* user.age="18"; user.name="宽叔"; user.sex="??";
*/
try {
// 单条保存,以对象的形式
// dbUtils.save(user);
// 保存一个集合
dbUtils.saveAll(list);
} catch (DbException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


// dbUtils.saveAll(entities);


}


// 删
public void delete(View v) {
try {
// 所有以User类型保存的都删
dbUtils.deleteAll(User.class);
// dbUtils.delete(new User(15,null,null,null));//通过Id删除
// dbUtils.delete(User.class, WhereBuilder.b("age", "=", "990").
// and("", "","").or(columnName, op, value));//条件删除


/*
* List<User> list=new ArrayList<User>();//无效 User user=new
* User("宽叔","n","99"); User user2=new User(22,null,null,null);
* list.add(user); list.add(user2); dbUtils.deleteAll(list);
*/
// 指定类型,通过id删除
// dbUtils.deleteById(User.class, 14);


} catch (DbException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}


// 改
public void update(View v) {


try {
// 通过id修改,指定影响的列,默认id是约束条件
// dbUtils.update(new User(22,"王主任","===","30"),
// "name","sex","age");
// 通过约束条件修改(参数二),参数一是修改后的数据,对主键id不起作用
// dbUtils.update(new User(0,"王院","男","992"),
// WhereBuilder.b("name", "=", "程院"), "name","sex","age");


List<User> list = new ArrayList<User>();
User user = new User(31, "宽叔1111", "n1111", "991111");
User user2 = new User(32, "宽叔2222", "n2222", "9922222");
list.add(user2);
list.add(user);
// User user2=new User(22,null,null,null);
// 修改,集合里的数据就是修改后的数据,默认主键id是约束条件
dbUtils.updateAll(list, "name", "sex", "age");
} catch (DbException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


// 查
public void select(View v) {
try {
// 根据类型查询
List<User> findAll = dbUtils.findAll(User.class);


// 精确匹配除id外的数据
List<User> findAll2 = dbUtils.findAll(new User(0, "宽叔", "n", "99"));



List<User> findAll3 = dbUtils.findAll(
User.class,
WhereBuilder.b("sex", "=", "n2").or("name", "=", "宽叔0")
.or("name", "like", "%1%"));


System.out.println(findAll3.size());





for (User user : findAll3) {
System.out.println(user.toString());
}

User findFirst = dbUtils.findFirst(User.class);

System.out.println(findFirst.toString()+"]]]]]]]]]]]]]]]]]]]]]]");

//          dbUtils.findFirst(Selector.from(User.class).);
} catch (DbException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}


}

=========================================================================================

/**
 * 
 */
package com.example.day_17dbutils;


/**
 * @author WJL
 * 
 */
public class User {

public User() {
super();
// TODO Auto-generated constructor stub
}


public User(String name, String sex, String age) {
this.name = name;
this.sex = sex;
this.age = age;
}

public User(int id, String name, String sex, String age) {
super();
this.id = id;
this.name = name;
this.sex = sex;
this.age = age;
}


public int id;
public String name;
public String sex;
public String age;
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", sex=" + sex + ", age="
+ age + "]";
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值