关于数据库的操作以及一些理解

选择使用xutils框架的数据库模块创建android本地数据库,建立两张表Person和City,Person表中的数据是用for循环插入的,City表中的数据是解析本地json串添加进去。

思考:

 * 数据库操作复杂,不能光光一个工具类就能解决所有的增删改查操作
 * 这里是具体具体的操作类,个人觉得这样不好
 * ①应该先定义一个接口,然后定义一个实现了该接口的实现类
 * ②或者定义一个类,在该类的方法中将接口作为参数传进去,重写接口中的所有方法


数据库Utils类

package com.xpro.xutils.utils;

import android.util.Log;
import android.widget.Toast;

import com.xpro.xutils.data.City;
import com.xpro.xutils.data.Person;
import com.xpro.xutils.database.DatabaseOpenHelper;

import org.xutils.DbManager;
import org.xutils.ex.DbException;

import java.util.List;

/**
 * 数据库操作复杂,不能光光一个工具类就能解决所有的增删改查操作
 * 这里是具体具体的操作类,个人觉得这样不好
 * ①应该先定义一个借口,然后定义一个实现了该借口的实现类
 * ②或者定义一个类,在该类的方法中将借口作为参数传进去,重写借口中的所有方法
 * Created by huangjh on 2016/12/28 0028 19:26
 */

public class DbUtils {

    private static DbManager db;
    private Person person;
    private City city;

    public DbUtils() {
        db = DatabaseOpenHelper.getInstance();
    }

    public void createTable() {
        person = new Person();
        city = new City();
    }

    public void insert(Object data, int flag) {
        try {
            db.save(data);
        } catch (DbException e) {
            e.printStackTrace();
        }
    }


    public void delete(Class table, int flag) {
        try {
            db.deleteById(table, 2);
        } catch (DbException e) {
            e.printStackTrace();
        }
    }

    public void query(Class table, int flag) {
        switch (flag) {
            case 1:
                try {
                    String key = "大傻";
                    List<Person> personList = db.selector(table).where("name", "like", "" + key + "").findAll();
                } catch (DbException e) {
                    e.printStackTrace();
                }
                break;
            case 2:
                try {
                    City city= (City) db.selector(table).findFirst();
                    Log.d("DbUtils", "city:" + city.toString());
                } catch (DbException e) {
                    e.printStackTrace();
                }
        }
    }
}

Android学习笔记之封装数据库工具类(定义了实现接口的实现类)

关于数据库的操作以及一些理解


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值