zoukankan      html  css  js  c++  java
  • andriod增、删、改、查

    将数据库的增删改查单独放进一个包

     1 */
     2 package com.itheima28.sqlitedemo.dao;
     3 import java.util.ArrayList;
     4 import java.util.List;
     5 
     6 import android.content.Context;
     7 import android.database.Cursor;
     8 import android.database.sqlite.SQLiteDatabase;
     9 
    10 import com.itheima28.sqlitedemo.dao.entities.Person;
    11 import com.itheima28.sqlitedemo.db.PersonSQliteOpenHelper;
    12 public class PersonDao {//谁调用我这个操作的包,就传入自己的对象
    13 private PersonSQliteOpenHelper mOpenHelper; //数据库的帮助类对象
    14 
    15 public PersonDao(Context context){   //构造函数
    16 mOpenHelper =new PersonSQliteOpenHelper(context);
    17 }

     

     1 //插入操作
     2 public void insert(Person person){
     3 //首先连接数据库 这个操作class PersonDao已经做了,用其对象mOpenHelper下的方法
     4 SQLiteDatabase db = mOpenHelper.getWritableDatabase();
     5 //判断数据库是否打开
     6 if(db.isOpen()){ //如果数据库打开,执行添加的操作
     7 //执行添加到数据库的操作 //Object传进来是什么,就是什么,相应前面是什么就写成?
     8 db.execSQL("insert into person(name,age) values(?,?);",new Object[]{person.getName(),person.getAge()});
     9 db.close();//数据库关闭
    10 }
    11 }

     

    1 //根据id删除数据
    2 public void delete(int id) {
    3 SQLiteDatabase db = mOpenHelper.getWritableDatabase();//获得可写的数据库对象
    4 if(db.isOpen()){ //如果数据库打开,执行下列操作 //直接传进来id。integer是一个对象类型,int不是。所以不行。
    5 db.execSQL("delete from person where _id=?;",new Integer[]{id});//
    6 db.close();
    7 }
    8 }

     

    1 //更新
    2 public void updata(int id,String name){
    3 SQLiteDatabase db = mOpenHelper.getWritableDatabase();//获得可写的数据库对象
    4 if(db.isOpen()){
    5 db.execSQL("updata person set name =? where _id = ?;",new Object[]{name,id});
    6 }
    7 db.close();
    8 }

     

     1 //查询所有
     2 public List<Person> queryALL(){
     3 SQLiteDatabase db = mOpenHelper.getWritableDatabase();//获得只读的数据库对象
     4 if(db.isOpen()){
     5 Cursor cursor = db.rawQuery("select * from person;", null); //查询得到“Cursor结果集”
     6 if(cursor !=null && cursor.getCount()>0){//查询集大于0
     7 List<Person> personList = new ArrayList<Person>();//创建一个集合personList
     8 while(cursor.moveToNext()){ //表的游标从上到下移动
     9 int id =cursor.getInt(0);//取第0列---id
    10 String name = cursor.getString(1);//取第1列---name
    11 int age = cursor.getInt(2);//取第2列---age
    12 personList.add(new Person(id,name,age));//将取得的数据装入集合personList
    13 }
    14 db.close();
    15 return personList;//返回这个集合
    16 }
    17 db.close();
    18 }
    19 return null;
    20 }
     1 //查询一个,例如id
     2 public Person queryItem(int id){ //Person类型
     3 SQLiteDatabase db = mOpenHelper.getWritableDatabase();//获得只读的数据库对象
     4 if(db.isOpen()){ //因为 rawQuery(String, String[])类型所以通过id+""把int id弄成String类型
     5 Cursor cursor= db.rawQuery("select _id,name,age from person where _id=?;",new String[]{id+""} );
     6 if(cursor !=null && cursor.moveToFirst()){//moveToFirst首次找到
     7 int _id = cursor.getInt(0);//得到id
     8 String name= cursor.getString(1);//得到name
     9 int age = cursor.getInt(2);//得到年龄
    10 db.close();
    11 return new Person(_id,name,age);
    12 }
    13 }
    14 return null;
    15 }
    16 }
  • 相关阅读:
    ES head安装笔记, 还没有试
    sed用法笔记
    Kibana笔记
    ElasticSearch笔记
    Mongo聚合笔记
    java 判断是否为数字
    Redis 一:安装篇
    make问题:make[1] entering directory
    Java 多线程 简单实例 (消费者与生成者)的关系
    Java 多线程 简单实例 (Runnable)
  • 原文地址:https://www.cnblogs.com/liuchaogege/p/4573997.html
Copyright © 2011-2022 走看看