XUtils之DButils用法简介,非常容易使用
来源:互联网 发布:网络任务源码 编辑:程序博客网 时间:2024/06/05 11:01
今天向大家介绍一下XUtils框架中的DButils的用法,如果之前有数据库操作的一些基础知识的话,用起来超级简单哟!不废话了,直接上代码:
1.首先定义一个实体类Student.java,可以把它理解为一张表,其中的属性值,可以理解为表中的列名,其中几个常用注解的作用,我也都介绍了。
package com.jinke.myapplication2;
import com.lidroid.xutils.db.annotation.Column;
import com.lidroid.xutils.db.annotation.Id;
import com.lidroid.xutils.db.annotation.Table;
/**
* 一个实体类对应一个表 student为表名
*/
@Table(name = "student") //指定该表的表名为student
public class Student {
@Id(column = "sid") //指定主键(如果不指定的话,该实体类必须有一个id属性)
private int sid;
@Column(column = "name") //表示普通列
private String name;
@Column(column = "age") //表示普通列
private int age;
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"sid=" + sid +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
2.好啦实体类有了下面直接操作起来,增删改查,下面增删改查对应着布局文件中几个按钮,布局文件我就不写了,很简单
package com.jinke.myapplication2;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
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 java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private DbUtils db;
private ArrayList<Student> students = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
* 创建数据库
* 参数一:上下文对象
* 参数二:数据库名
*/
db = DbUtils.create(this,"mydb.db");
}
//初始化一些数据
private ArrayList<Student> addData() {
for (int i = 0; i < 10; i++) {
Student student = new Student();
student.setName("小明" + i);
student.setAge(i);
students.add(student);
}
return students;
}
/**
* 增
* db.save(student)增加一个数据
* db.saveAll(list)增加集合中的所有数据
*/
public void save(View v) {
try {
db.saveAll(addData());
} catch (DbException e) {
e.printStackTrace();
}
}
/**
* 删
* 参数1:Class对象,也就是你要删哪张表
* 参数2:条件语句 比如下面的意思就是 删除name等于小明1的那行数据
*/
public void del(View v){
try {
db.delete(Student.class, WhereBuilder.b("name","=","小明1"));
} catch (DbException e) {
e.printStackTrace();
}
}
/**
* 改
* 参数一:student对象,也就是你要改成什么样的值
* 参数二:条件 就是改哪点 比如下面改name等于小明6的那条数据,
* 参数三和四:改name列和age列(这个是可变参数对应你上面修改哪几列数据)
*/
public void update(View v){
Student student = new Student();
student.setName("李四");
student.setAge(20);
try {
db.update(student,WhereBuilder.b("name","=","小明6"),"name","age");
} catch (DbException e) {
e.printStackTrace();
}
}
/**
* 查找所有数据
* 返回一个list集合
*/
public void findAll(View v){
try {
List<Student> list = db.findAll(Student.class);
for (Student student : list){
System.out.println(student.toString());
}
} catch (DbException e) {
e.printStackTrace();
}
}
/**
* 条件查找
* 比如下面,查找Student表中sid大于5并且name匹配小什么的数据
*/
public void find(View v){
try {
List<Student> list = db.findAll(Selector.from(Student.class).where("sid",">",5).and("name","like","小%"));
for (Student student : list){
System.out.println(student.toString());
}
} catch (DbException e) {
e.printStackTrace();
}
}
}
这样就能成功创建数据库并进行增删改查了,上面使用的API只是几个简单的,其中还有许多方法我没有写出来,大家可以自己尝试着学习!!!
- XUtils之DButils用法简介,非常容易使用
- Android Xutils框架使用之DBUtils
- xUtils中DbUtils用法
- XUtils中的dbUtils用法
- xUtils框架之DbUtils
- Android高级之xUtils框架(四):DBUtils的用法
- Android高级之xUtils框架(四):DBUtils的用法
- xUtils DButils的详细用法
- xUtils系列之DbUtils-概览
- xUtils系列之DbUtils-查询
- XUtils之ViewUtils和DBUtils
- xUtils中DbUtils的使用
- xUtils插件的使用(dbUtils)
- xUtils系列之DbUtils-Id,NoAutoIncrement注解
- xUtils系列之DbUtils-Check注解
- xUtils系列之DbUtils-Column注解
- xUtils系列之DbUtils-Table注解
- xUtils系列之DbUtils-Transient注解
- JS程序的先后执行顺序
- C语言知识总结
- poj 2034 Anti-prime Sequences
- 《Java多线程编程核心技术》(三)线程通信
- linux添加tomcat到服务中
- XUtils之DButils用法简介,非常容易使用
- plsql编程
- HDU 5900 QSC and Master(区间DP)
- Java语言本身很简单,很容易学和使用
- RFID技术在槟榔谷中的应用
- Python(五)set 集合
- Elasticsearch安装,及head,ik的安装
- 3Dslicer Developer FAQ: General | 开发人员常遇到的问题:综述
- string对象比能直接进行修改