Android實用的SQLite資料庫工具類

CrackgmKey發表於2017-10-19

每天一個小目標,早晚單車變摩托


一個實用的Sqlite的工具類,呼叫的時候只需DBUtils.getInstance().creads(this);即可完成建立資料庫


之後依次呼叫方法就好



DBUtils.java

package com.example.bookadmin.sqlite;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;


import com.example.bookadmin.bean.SongBean;
import com.example.bookadmin.tools.utils.LogUtils;

import java.util.ArrayList;

/**
 * Created by Administrator on 2017/10/19.
 * by:TaoHui
 */

public class DBUtils {
    private static DBUtils dbUtils;
    private SQLiteDatabase db;
    /**
     * 單例模式
     * @return
     */
    public static DBUtils getInstance(){
        if(dbUtils == null){
            dbUtils = new DBUtils();
            return dbUtils;
        }
        return dbUtils;
    }
    /**
     * 建立資料表
     * @param contenxt 上下文物件
     */
    public void creads(Context contenxt){
        String path = contenxt.getCacheDir().getPath()+"/muisd.db";
        db = SQLiteDatabase.openOrCreateDatabase(path,null);
        String sql = "create table if not exists t_person" +
                "(id integer primary key autoincrement," +
                "bsid int(50) ,name text(50))";
        db.execSQL(sql);//建立表
    }
    /**
     * 查詢資料
     * 返回List
     */
    public ArrayList<SongBean> selectis() {
        ArrayList<SongBean> list = new ArrayList<>();
        Cursor cursor = db.query("t_person",null,null,null,null,null,null);
        while (cursor.moveToNext()){
            SongBean userBean = new SongBean();
            int id = cursor.getInt(cursor.getColumnIndex("id"));
            String name = cursor.getString(cursor.getColumnIndex("name"));
            int bsid = cursor.getInt(cursor.getColumnIndex("bsid"));
            userBean.setName(name);
            userBean.setBsid(bsid);
            userBean.setId(id);
            list.add(userBean);
            Log.e("--Main--", "==============selectis======"+id+"================"+name+"================"+bsid);
        }
        if(cursor != null){
            cursor.close();
        }

        return list;
    }
    /**
     * 根據ID刪除資料
     * id 刪除id
     */
    public int delData(int id){
        int inde = db.delete("t_person","id = ?",new String[]{String.valueOf(id)});
        Log.e("--Main--", "==============刪除了======================"+inde );
        return inde;
    }
    /**
     * 根據ID修改資料
     * id 修改條碼的id
     * bsid 修改的ID
     * name 修改的資料庫
     */
    public int modifyData(int id,int bsid, String name){
        ContentValues contentValues = new ContentValues();
        contentValues.put("name",name);
        contentValues.put("bsid",id);
        int index = db.update("t_person",contentValues,"id = ?",new String[]{String.valueOf(id)});
        Log.e("--Main--", "==============修改了======================"+index );
        return index;
    }
    /**
     * 新增資料
     * bsid 新增的資料ID
     * name 新增資料名稱
     */
    public long insertData(int bsid, String name){
        ContentValues contentValues = new ContentValues();
        contentValues.put("name",name);
        contentValues.put("bsid",bsid);
        long dataSize = db.insert("t_person",null,contentValues);
        Log.e("--Main--", "==============insertData======================"+name+"================"+bsid);
        return dataSize;
    }
    /**
     * 查詢名字單個資料
     * @param names
     * @return
     */
    public boolean selectisData(String names){
        //查詢資料庫
        Cursor cursor = db.query("t_person",null,"name = ?",new String[]{names},null,null,null);
        while (cursor.moveToNext()){
           return true;
        }
        return false;
    }
}


相關文章