SQLite数据库的操作--数据库存储
2014-01-12 17:50
155 查看
Using Databases
第一步:创建一个工程
在开始写项目前,先配置测试
第二部:继承SQLiteOpenHelper类
系统能够自动创建这个数据库
建立一个db的包,定义一个DbOpenHelper的方法继承SQLiteOpenHelper
首先定义构造函数,保留上下文参数
数据库的创建
建表语句的形成
建立一个test的包,定义一个MyTest类继承TestCase类
番外:当我写到这里的时候,几次测试都没有出现data中就是没有文件显示。各种百度之后(我都想哭类,data文件夹怎么测试都没有文件显示,最后的问题竟然是,Android的模拟机和真机不能同时存在,天知道我只是把手机充电而已呀。)
测试之后再data文件夹中生成数据库
在SQLte Expert工具的配合下可以看到自己创建的数据库了。
在创建数据库的同时,可能还要考虑到数据库的升级问题
数据库的升级,就是添加一列,对数据库进行重命名,但是新版本不能对老版本有用数据进行破坏。
在更新的过程中,注意要更改数据库的版本好,如果更新的版本没有高于老的版本的时候,就不会执行更改的内容。
更改后的结果:
在上面解决了SQLiteOpenHelper类的继承
数据库的增删改查的功能
首先:建立一个service包,定义一个PersonService的接口
(这里就回出现单词拼错的情况,在变成中单词拼错有时候是最脑残的问题了。初学的人,甚至会用半天找一个单词拼音错误。但是如果写的时间长了,一方面是非常数据单词拼写,甚至用快捷键完全不用担心出现这种问题。一方面是,有了自己的一套解决问题的方式,能够根据错误信息,找到自己出错的地方,进而快速改正代码。--0_0---)
声明一个数据库的访问类PersonDao继承PersonService接口
实现数据库的添加的方法:
单元测试,先将工程运行起来。
测试结果:
数据库数据添加成功
删除操作:
删除结果:
数据库的修改操作:
(这个地方的update写错了)
数据库查询:封装成map的方式
查询数据库单条记录的方式
Return map;
查询数据库多条数据的方式
Return list;
在insert中一个一个测试之后的数据库的结果为:
在MyTest测试中定义一个updateDB的方法
测试的结果是:
在MyTest中定义一个查询ViewDB的方法
测试结果是:
在MyTest中定义一个查询所有数据listViewDB2的方法
测试结果是:
以上是基本的增删查改的方法
API中有另一种查询方式
根据API文档我们知道,真正的数据库的插入和删除的方法应该是
番外:
(在我们学习Android开发的时候,需要我们有一定的英文基础,要能看懂API,API中有很多有效,有用的建议和向导。)
首先在以后的项目基础上
再在service包中定义一个PersonService2的接口,和PersonService没有什么不同的(这样以防出现覆盖)
在dao包中定义个PersonDao2的类,继承PersonService2接口
insert方法的API
因为这种方式是比较简单的,而其以后会经常的用到,所以,现在一步一步的分析
1.在PersonService2接口中定义
2.在PersonDao2类中定义addPerson方法
3.在MyTest2中定义Test方法
测试结果是:
Delete方法的API
代码如下:
update方法的API
代码如下:
测试结果是:
查询的API
这个有一定的JDBC数据库基础的人更容易理解一些。
测试单条记录
代码如下:
测试结果:
查询多条记录
代码如下:
测试结果:
第一步:创建一个工程
在开始写项目前,先配置测试
第二部:继承SQLiteOpenHelper类
系统能够自动创建这个数据库
建立一个db的包,定义一个DbOpenHelper的方法继承SQLiteOpenHelper
首先定义构造函数,保留上下文参数
数据库的创建
建表语句的形成
建立一个test的包,定义一个MyTest类继承TestCase类
番外:当我写到这里的时候,几次测试都没有出现data中就是没有文件显示。各种百度之后(我都想哭类,data文件夹怎么测试都没有文件显示,最后的问题竟然是,Android的模拟机和真机不能同时存在,天知道我只是把手机充电而已呀。)
测试之后再data文件夹中生成数据库
在SQLte Expert工具的配合下可以看到自己创建的数据库了。
在创建数据库的同时,可能还要考虑到数据库的升级问题
数据库的升级,就是添加一列,对数据库进行重命名,但是新版本不能对老版本有用数据进行破坏。
在更新的过程中,注意要更改数据库的版本好,如果更新的版本没有高于老的版本的时候,就不会执行更改的内容。
更改后的结果:
在上面解决了SQLiteOpenHelper类的继承
数据库的增删改查的功能
首先:建立一个service包,定义一个PersonService的接口
(这里就回出现单词拼错的情况,在变成中单词拼错有时候是最脑残的问题了。初学的人,甚至会用半天找一个单词拼音错误。但是如果写的时间长了,一方面是非常数据单词拼写,甚至用快捷键完全不用担心出现这种问题。一方面是,有了自己的一套解决问题的方式,能够根据错误信息,找到自己出错的地方,进而快速改正代码。--0_0---)
声明一个数据库的访问类PersonDao继承PersonService接口
实现数据库的添加的方法:
单元测试,先将工程运行起来。
测试结果:
数据库数据添加成功
删除操作:
删除结果:
数据库的修改操作:
(这个地方的update写错了)
数据库查询:封装成map的方式
查询数据库单条记录的方式
Return map;
查询数据库多条数据的方式
Return list;
在insert中一个一个测试之后的数据库的结果为:
在MyTest测试中定义一个updateDB的方法
测试的结果是:
在MyTest中定义一个查询ViewDB的方法
测试结果是:
在MyTest中定义一个查询所有数据listViewDB2的方法
测试结果是:
以上是基本的增删查改的方法
API中有另一种查询方式
根据API文档我们知道,真正的数据库的插入和删除的方法应该是
番外:
(在我们学习Android开发的时候,需要我们有一定的英文基础,要能看懂API,API中有很多有效,有用的建议和向导。)
首先在以后的项目基础上
再在service包中定义一个PersonService2的接口,和PersonService没有什么不同的(这样以防出现覆盖)
在dao包中定义个PersonDao2的类,继承PersonService2接口
insert方法的API
因为这种方式是比较简单的,而其以后会经常的用到,所以,现在一步一步的分析
1.在PersonService2接口中定义
2.在PersonDao2类中定义addPerson方法
3.在MyTest2中定义Test方法
测试结果是:
Delete方法的API
代码如下:
update方法的API
代码如下:
测试结果是:
查询的API
这个有一定的JDBC数据库基础的人更容易理解一些。
测试单条记录
代码如下:
测试结果:
查询多条记录
代码如下:
测试结果:
相关文章推荐
- How to unlock Sample HR database in oracle
- 实战Memcached缓存系统(7)Memcached的一些基础FAQ
- SQL语句修改表
- oracle通过impdp导入不同表用户、不同表空间的数据
- oracle11g空表不能导出解决法案
- 上传图片并保存到数据库
- (redis)adlist.h/adlist.c理解
- centos_6.5_x64 上快速编译安装redis
- SQL描述(3)
- Oracle VM VirtualBox安装增强功能和共享文件夹的方法
- oracle中如何创建数据库
- 数据库的clob和blob操作
- MySQL架构方案
- 32位PL/SQL Developer连接win7 64位的oracle DB
- MySQL建议列属性尽量为NOT NULL
- 简述数据库三范式
- “仅安装数据库软件”启动“oracleserviceorcl”的方法
- sql分库、分表
- Oracle11g完全卸载步骤
- redis之主从复制