Javaweb实现增删改查的步骤,1.加载jdbc的驱动,2.连接到数据库 3.准备sql语句,
AndroID中加载驱动已经完成了,拿到数据库的引用就是链接数据库了。
获取sqlitedatabase 对象,调用上一节中helper对象的getWritableDatabase()方法
调用sqlitedatabase 对象的execsql()方法,执行sql语句
例如:insert into person (name) values(”taoshihan”)
Select * from person
Update person set name=”tsh” where ID=1
Delete from person where ID=1
一般情况下,给数据访问层建个包叫dao,建个class叫PersonDao,创建构造方法,在里面初始化helper,参数是Context上下文,获取到sqliteDatabase对象后记得要调用close()方法
AndroID中为了防止特殊字符,db对象提供了个带有占位符的方法execsql(sql,Object[]),sql语句参数部分用?代替,object[] 数组里面放参数变量。
查询部分,调用db对象的rawquery(sql,selectArgs),参数:sql语句和String[] 数组,返回Cursor对象结果集,调用Cursor对象的movetoNext()判断是否能移动到下一条,返回bool,结果集也要close()
查询全部,返回一个List集合,List里面是每一个条目,包装一个Person对象放进去,新建一个domain包,里面定义属性和set get方法,同样是调用db对象的rawquery方法,得到Cursor游标对象,while(cursor.movetoNext()){}循环一下,往下移动一条,如果到最后一条会false。循环里面调用Cursor对象的getInt(columnIndex)参数是字段索引,索引可以通过getColumnIndex(columnname),参数是字段名得到。Person业务对象加个toString()方法,方便 打印使用。
dao代码:
package com.tsh.database.dao;import java.util.ArrayList; java.util.List; com.tsh.database.PersonsqliteOpenHelper; com.tsh.database.domain.Person; androID.content.Context; androID.database.Cursor; androID.database.sqlite.sqliteDatabase;public class PersonDao { private PersonsqliteOpenHelper helper; public PersonDao(Context context){ helper=new PersonsqliteOpenHelper(context); } /** * 增加一条 * @param name */ voID add(String name){ sqliteDatabase db=helper.getWritableDatabase(); db.execsql("insert into person (name) values(?)", Object[]{name}); db.close(); } * 查询全部 * @return public List<Person> select(){ List<Person> persons=new ArrayList<Person>(); sqliteDatabase db=helper.getReadableDatabase(); Cursor cursor=db.rawquery("select * from person",1)">null); while(cursor.movetoNext()){ int ID=cursor.getInt(cursor.getColumnIndex("ID")); String name=cursor.getString(cursor.getColumnIndex("name")); Person person= Person(ID,name); persons.add(person); } cursor.close(); db.close(); return persons; } }
测试用例:
com.tsh.database.test; com.tsh.database.dao.PersonDao; androID.test.AndroIDTestCase;class TestPersonDb extends AndroIDTestCase { voID testPerson() throws Exception{ PersonsqliteOpenHelper helper = PersonsqliteOpenHelper(getContext()); helper.getWritableDatabase(); } * 测试添加 * @throws Exception voID testAdd() Exception{ PersonDao dao= PersonDao(getContext()); dao.add("taoshihan"); } * 测试查询 * voID testSelect() PersonDao(getContext()); List<Person> persons=dao.select(); for(Person p:persons){ System.out.println(p.toString()); } } }总结
以上是内存溢出为你收集整理的[android] sql语句实现数据库的增删改查全部内容,希望文章能够帮你解决[android] sql语句实现数据库的增删改查所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)