• android_sqlite


    package com.example.myfirstapp;
    
    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    
    public class DBOpenHelper extends SQLiteOpenHelper {
        private static final String DATABSENAME="person.db";
        private static final Integer DATABASEVERSION=1;
        private static final String installSql="create table person(id integer primary key autoincrement,age integer,name varchar(20))";
        
        public DBOpenHelper(Context context) {
            super(context, DATABSENAME, null, DATABASEVERSION);
        }
    
        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL(installSql);
        }
    
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            db.execSQL("drop table person if exists");
            onCreate(db);
        }
    
    }
    package com.example.myfirstapp;

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

    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;

    import com.example.myfirstapp.domain.Person;

    public class PersonService {
        private DBOpenHelper dbOpenHelper;

        public void setDbOpenHelper(DBOpenHelper dbOpenHelper) {
            this.dbOpenHelper = dbOpenHelper;
        }
        
        public void addPerson(Person person){
            SQLiteDatabase db=dbOpenHelper.getWritableDatabase();
            db.beginTransaction(); //开始事务
            try{
                db.execSQL("insert into person(name,age) values(?,?)",new Object[]{person.getName(),person.getAge()});
                db.execSQL("insert into person(name,age) values(?,?)",new Object[]{person.getName()+'_'+"clone",person.getAge()});
                db.setTransactionSuccessful();//标志事务成功
            }finally{
                db.endTransaction(); //结束事务
            }
        }

        public void delPerson(Person person) {
            SQLiteDatabase db=dbOpenHelper.getWritableDatabase();
            db.execSQL("delete from person where id=?",new Integer[]{person.getId()});
        }
        
        public Person getPersonById(Person person){
            SQLiteDatabase db=dbOpenHelper.getReadableDatabase();
            Cursor cursor=db.rawQuery("select id,name,age from person where id=?",new String[]{person.getId()+""});
            Person item = null;
            if(cursor.moveToFirst()){
                item=new Person();
                item.setId(cursor.getInt(cursor.getColumnIndex("id")));
                item.setAge(cursor.getInt(cursor.getColumnIndex("age")));
                item.setName(cursor.getString(cursor.getColumnIndex("name")));
            }
            cursor.close();
            return item;
        }
        
        public List<Person> queryPerson(){
            SQLiteDatabase db=dbOpenHelper.getReadableDatabase();
            Cursor cursor=db.rawQuery("select * from person limit 0,5", null);
            List<Person> personList=new ArrayList<Person>(5);
            Person person;
            while(cursor.moveToNext()){
                person=new Person();
                person.setId(cursor.getInt(cursor.getColumnIndex("id")));
                person.setAge(cursor.getInt(cursor.getColumnIndex("age")));
                person.setName(cursor.getString(cursor.getColumnIndex("name")));
                personList.add(person);
            }
            cursor.close();
            return personList;
        }
        

    }

    package com.kk.android.test;
    
    import java.util.List;
    
    import android.test.AndroidTestCase;
    import android.util.Log;
    
    import com.example.myfirstapp.DBOpenHelper;
    import com.example.myfirstapp.PersonService;
    import com.example.myfirstapp.domain.Person;
    
    public class PersonServiceTest extends AndroidTestCase {
        
        public void testInsert() throws Exception {
            DBOpenHelper helper=new DBOpenHelper(getContext());
            PersonService service=new PersonService();
            service.setDbOpenHelper(helper);
            Person person1=new Person("kk1",1);
            Person person2=new Person("kk2",2);
            Person person3=new Person("kk3",3);
            Person person4=new Person("kk4",4);
            Person person5=new Person("kk5",5);
            Person person6=new Person("kk6",6);
            service.addPerson(person1);
            service.addPerson(person2);
            service.addPerson(person3);
            service.addPerson(person4);
            service.addPerson(person5);
            service.addPerson(person6);
        }
        
        public void testDel() throws Exception {
            DBOpenHelper helper=new DBOpenHelper(getContext());
            PersonService service=new PersonService();
            service.setDbOpenHelper(helper);
            Person person1=new Person("kk1",1);
            person1.setId(1);
            service.delPerson(person1);
        }
        
        public void testQueryById() throws Exception {
            DBOpenHelper helper=new DBOpenHelper(getContext());
            PersonService service=new PersonService();
            service.setDbOpenHelper(helper);
            Person person2=new Person();
            person2.setId(2);
            Person pserson=service.getPersonById(person2);
            Log.i("psersonTag",pserson.toString());
        }
        
        public void testQueryByPage()throws Exception{
            DBOpenHelper helper=new DBOpenHelper(getContext());
            PersonService service=new PersonService();
            service.setDbOpenHelper(helper);
            List<Person> personList=service.queryPerson();
            for(Person person:personList){
                Log.i("psersonTag", person.toString());
            }
        }
    }
  • 相关阅读:
    (转)HTTP、TCP和HTTPS
    使用覆盖索引优化like查询
    Laravel 源码解析(一)
    redis 缓存策略注意的问题总结
    laravel 监听mysql操作 生成时间
    CommonJS, AMD, CMD 笔记
    php json_encode小数精度丢失的问题
    Python通过pandas操作excel常用功能
    Vmware 虚拟化技术
    磁盘中的esp分区与msr分区
  • 原文地址:https://www.cnblogs.com/BigIdiot/p/2672023.html
Copyright © 2020-2023  润新知