安卓数据库工具类

package  com. example. wpj. myapplication. sql;
import  android. content. ContentValues;
import  android. content. Context;
import  android. database. Cursor;
import  android. database. sqlite. SQLiteDatabase;
import  android. database. sqlite. SQLiteOpenHelper;
import  android. database. sqlite. SQLiteStatement;
import  android. util. Log;
import  java. util. List;
/**
 * Created by wpj on 2017/2/27.
 * 
 */
public  class  DBUtil  extends  SQLiteOpenHelper {
     private  static  final  String  DB_NAME  =  "TVBank.db";
     private  static  final  int  VERSION  =  1;
     //SQL
     private  static  final  String  Create_Table  =  "create table login_info \n"  +
              "(\n"  +
              "   log_id               varchar2(50)                   not null,\n"  +
              "   account_name         varchar2(20)                   null,\n"  +
              "   account_password     varchar2(20)                   null,\n"  +
              "   state                int                            null,\n"  +
              "   device_id            varchar2(50)                   null,\n"  +
              "   login_time           date                           null,\n"  +
              "   constraint PK_LOGIN_INFO primary key (log_id)\n"  +
              ");";
     private  SQLiteDatabase  db;
     public  DBUtil( Context  context) {
         super( context,  DB_NAME,  null,  VERSION);
    }
     /**
      * 
      * 
      *  @param  sqLiteDatabase
      *  @param  oldVersion
      *  @param  newVersion
      */
    @ Override
     public  void  onUpgrade( SQLiteDatabase  sqLiteDatabase,  int  oldVersion,  int  newVersion) {
         Log. e( "onUpgrade"","  +  oldVersion  +  "--->"  +  newVersion);
         //db.execSQL("alter table info add money varchar(20)");
    }
     /**
      * 
      * 
      *  @param  sqLiteDatabase
      */
    @ Override
     public  void  onCreate( SQLiteDatabase  sqLiteDatabase) {
         this. db  =  sqLiteDatabase;
         sqLiteDatabase. execSQL( Create_Table);
         Log. e( "CreateDB""Create "  +  DB_NAME);
    }
     /**
      * DB
      * 
      *  @return
      */
     private  SQLiteDatabase  getDb() {
         if ( db  ==  null)
              db  =  getWritableDatabase();
         return  db;
    }
     /**
      * DB
      */
     public  void  close() {
         if ( db  !=  null)
              db. close();
    }
     /**
      * 
      * 
      *  @param  table
      *  @param  values
      *  @return
      */
     public  long  insert( String  table,  ContentValues  values) {
         db  =  getDb();
         return  db. insert( table,  null,  values);
    }
     /**
      * 
      * 使
      *  @param  table
      *  @param  columns
      *  @param  values
      *  @return
      */
     public  boolean  insertMulti( String  table,  String[]  columns,  List < String[] >  values) {
         db  =  getDb();
         try {
              String  columnSql  =  "";
              String  valuesSql  =  "";
              for ( String  column :  columns) {
                   columnSql  =  columnSql  +  column  +  ",";
                   valuesSql  =  valuesSql  +  "?,";
             }
              StringBuilder  sb  =  new  StringBuilder();
              sb. append( "insert into ");
              sb. append( table);
              sb. append( "(");
              sb. append( columnSql. substring( 0,  columnSql. length()  -  1));
              sb. append( ") values (");
              sb. append( valuesSql. substring( 0,  valuesSql. length()  -  1));
              sb. append( ")");
              String  sql  =  sb. toString();
              //---------------------------------------------
              SQLiteStatement  stat  =  db. compileStatement( sql);
              db. beginTransaction();
              for ( String[]  value :  values) {
                   for ( int  i  =  0;  i  <  value. length;  i ++) {
                        stat. bindString( i  +  1,  value[ i]);
                  }
                   long  result  =  stat. executeInsert();
                   if ( result  <  0) {
                        return  false;
                  }
             }
              //
              db. setTransactionSuccessful();
              //---------------------------------------------
        }  catch ( Exception  e) {
              e. printStackTrace();
              return  false;
        }  finally {
              db. endTransaction();
        }
         return  true;
    }
     /**
      * 
      *
      *  @param  distinct
      *  @param  table
      *  @param  columns
      *  @param  selection-selectwhere
      *  @param  selectionArgs-selection
      *  @param  groupBy
      *  @param  having
      *  @param  orderBy
      *  @param  limit-
      *  @return
      */
     public  Cursor  query( boolean  distinct,  String  table,  String[]  columns,  String  selection,  String[]  selectionArgs,  String  groupBy,  String  having,  String  orderBy,  String  limit) {
         db  =  getDb();
         return  db. query( distinct,  table,  columns,  selection,  selectionArgs,  groupBy,  having,  orderBy,  limit);
    }
     /**
      * 
      *
      *  @param  sql
      *  @param  args
      *  @return
      */
     public  Cursor  query( String  sql,  String[]  args) {
         db  =  getDb();
         return  db. rawQuery( sql,  args);
    }
     /**
      * 
      *
      *  @param  table
      *  @param  values
      *  @param  whereClause
      *  @param  whereArgs
      *  @return
      */
     public  int  update( String  table,  ContentValues  values,  String  whereClause,  String[]  whereArgs) {
         db  =  getDb();
         return  db. update( table,  values,  whereClause,  whereArgs);
    }
     /**
      * 
      *
      *  @param  table
      *  @param  whereClause
      *  @param  whereArgs
      *  @return
      */
     public  int  delete( String  table,  String  whereClause,  String[]  whereArgs) {
         db  =  getDb();
         return  db. delete( table,  whereClause,  whereArgs);
    }
     /**
      * sql
      *
      *  @param  sql
      */
     public  void  excSQL( String  sql) {
         db  =  getDb();
         db. execSQL( sql);
    }
     /**
      * sql
      *
      *  @param  sql
      *  @param  bindArgs
      */
     public  void  excSQL( String  sql,  Object[]  bindArgs) {
         db  =  getDb();
         db. execSQL( sql,  bindArgs);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值