DbUtils简单使用

DBUtils是java编程中的数据库操作实用工具,小巧简单实用,

1.对于数据表的读操作,他可以把结果转换成List,Array,Set等java集合,便于程序员操作;

2.对于数据表的写操作,也变得很简单(只需写sql语句)

3.可以使用数据源,使用JNDI,数据库连接池等技术来优化性能--重用已经构建好的数据库连接对象,而不像php,asp那样,费时费力的不断重复的构建和析构这样的对象。

使用DBUtils简单实现增删改查

1、首先写布局,就四个按钮增删改查

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <EditText
        android:id="@+id/input_data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/add"
        android:layout_marginTop="10dip"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="添加" />

    <Button
        android:id="@+id/delete"
        android:layout_marginTop="10dip"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="删除" />

    <Button
        android:id="@+id/update"
        android:layout_marginTop="10dip"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="修改" />

    <Button
        android:id="@+id/query"
        android:layout_marginTop="10dip"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="查找" />

</LinearLayout>

2、新建一个bean类包括用户的id、姓名、年龄等,可自定义

package com.example.apple.dbutils.bean;
/**
 * Created by apple on 16/12/28.
 */
public class Student {
    private int id;
    private String name;
    private int age;

    public Student() {
    }

    public Student(int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    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 int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

3、在主代码中实现增删改查功能,代码比较简单自己看注释

package com.example.apple.dbutils;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.example.apple.dbutils.bean.Student;
import com.lidroid.xutils.DbUtils;
import com.lidroid.xutils.db.sqlite.Selector;
import com.lidroid.xutils.exception.DbException;

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


public class MainActivity extends AppCompatActivity implements View.OnClickListener{

    private Button add;
    private Button delete;
    private Button update;
    private Button query;
    private EditText inputData;
    private final String TAG = "MainActivity";
    private DbUtils dbUtils;

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

        initView();

    }

    private void initView() {

        add = (Button)findViewById(R.id.add);
        add.setOnClickListener(this);
        delete = (Button)findViewById(R.id.delete);
        delete.setOnClickListener(this);
        update = (Button)findViewById(R.id.update);
        update.setOnClickListener(this);
        query = (Button)findViewById(R.id.query);
        query.setOnClickListener(this);

        inputData = (EditText)findViewById(R.id.input_data);

        //创建数据库并且命名 dbUtilsDb
        dbUtils = DbUtils.create(this,"dbUtilsDb");
        //创建一张表(如果存在才创建) javabean Student name gender age id
        //表名是javabean 的全路径名称
        try {
            dbUtils.createTableIfNotExist(Student.class);
        } catch (DbException e) {
            e.printStackTrace();
        }

    }

    @Override
    public void onClick(View v) {

        switch (v.getId()){

            case R.id.add://添加数据

                try {
                    List<Student> studentList = new ArrayList<>();
                    for (int i = 0; i<10;i++){
                        studentList.add(new Student(i,"张三"+i,i+10));
                    }
                    dbUtils.saveAll(studentList);
                } catch (DbException e) {
                    e.printStackTrace();
                }

                break;
            case R.id.delete://删除数据

                try {
                    List<Student> stus = dbUtils.findAll(Selector.from(Student.class));
                    dbUtils.delete(stus.get(0));//删除第一个数据
                   // dbUtils.deleteAll(stus);//删除全部数据
                  //  dbUtils.deleteById(Student.class, WhereBuilder.b());
                   // dbUtils.dropTable(Student.class);
                   // dbUtils.dropDb();
                } catch (DbException e) {
                    e.printStackTrace();
                }

                break;
            case R.id.update://更新数据
                try {
                    List<Student> stus = dbUtils.findAll(Selector.from(Student.class));
                    Student stu = stus.get(0);//修改第一个数据的年龄
                    stu.setAge(50);
                    dbUtils.update(stu);
                } catch (DbException e) {
                    e.printStackTrace();
                }

                break;
            case R.id.query://查询数据
                try {
                    List<Student> findAll = dbUtils.findAll(Student.class);

                    if (findAll!=null) {

                        for (Student student : findAll) {

                            Log.e(TAG, "id:" + student.getId() + "..name:" + student.getName() + "..age:" + student.getAge());

                        }
                    }else {
                        Toast.makeText(this,"数据库数据为空",Toast.LENGTH_SHORT).show();
                    }

                } catch (DbException e) {
                    e.printStackTrace();
                }

                break;

            default:
                break;
        }
    }
}
最后记得在libs中加入xUtils-2.6.14.jar,这个可以网上下载一个,代码下载地址 http://download.csdn.net/detail/u011324501/9724044










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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值