




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 基于 久层设计方案 持久层功能概述 持久层主要负责与数据库的交互,是一组软件服务,将应用程序与其使用的数据源分离,是业务逻辑层与数据库的桥梁。 设计目标 我们设计持久层要达到的目标: 将数据持久逻辑与表示和业务逻辑分开的整洁机制 使数据所在的数据库平台对于框架的应用程序完全隐藏起来 抽象数据库中存储数据的物理细节和数据库实体之间存在的关系 简化开发过程,隐藏打开数据库连接,事务管理等细节 基于以上目标,我们这里采用对象 方法来操作数据库。 使用持 久层开发基本过程 基于框架,持久层的基本开发过程如下: 编写持久层环境配置文件( 编写 现业务功能和业务描述。 编写 数据库表之间的映射关系描述( 使用 象对 行持久化操作。 2. 持久层环境 概述 使用框架的持久层开发之前,我们要先做一些准备,搭建好持久层的环境,也就是编写持久层环境配置文件 2 编写 件是持久层 与数据库连接属性的配置文件,可以直接使用数据源。 我们现在使用 数据源 置文件的代码如下 : ( 我 们使用 实现业务描述 3 创建 步骤: 继承某一 基类(此基类可以根据具体项目来具体封装,但一定要继承类 为 每个属性添加 法 在 法中添加 方法 为 加注释 在关系数据库中建立相应的表 下面我们来使用一个具体的例子来说明创建一个 过程。 下面是 部分源代码 . 4 注意 : 定要继承类 对于每个属性添加 法。 在 法里注册 法 设置标注 0, 20) 5 . 在关系数据库中创建表 我们在 据库中创建表 行的 : _ 0) 0), 0), 5), 0), 0), 0), ); _4. 使用持久层操作数据库 持久层的关键就是类型为 对象,我们对数据库的操作都是通过这 个对象来实现的,所以下面主要讲解如何在环境中获得和使用 对象。 获得 象 可以使用以下代码获得 象: ; 新增操作 说明: a) 法用来对数据库中的一张表执行插入操作 b) 该方法仅仅用来对一张表插入一条记录 c) 当数据库中有初始值的时候,使用此方 法会将数据库的初始值覆盖为 以数据库有初始值时请使用 法 示例代码: /使用 获得 象 ; /创建一个新的 象,用来执行插入操作 ; ); ; 说明: a) 批量的对一批 行数据库对应表的新增, 的 型可以是不同的,但他们都必须实现 口。 b) 法用来批量的执行一组 句 7 示例代码: /使用 获得 象 ; /创建 10 个 象,用来进行批量的插入 ; i = 1; i 说明: a) 通过 次性查询出满足条件的记录, 查询结果存入 b) 该分页查询只支持前台分页,即在前台点击上下页时不再从后台查询 c) 查询的 句所对应的 要在 声明 d) 属性中填充 件中的参数值 示例代码: /使用 获得 象 ; /*使用 器来传递参数,参数按照 句中的“?”顺序,被放入到 器中 */ ; 14 /这个值将取代第一个 “?” 112); /进行查询 说明: a) 标准的分页查询,通过 明查询的起始位置,通过明每次查询的数据总数, 查询结果存入 b) 该分页查询只支持前台分页,即在前台点击上下页时不再从后台查询 c) 查询的 句,是一个完整的语句。例 by id d) 属性中填充 件中的参数值 e) 次 获取数据 总数 f) 数 ,从 0 开始 g) 表查询数据的起始行 示例代码: /使用 获得 象 ; /*本次查询所使用的 句,注意,这里的 句是完整的 句,而不是一 15 个片断 */ ? by id ; /*使用 器来传递参数,参数按照 句中的“?”顺序,被放入到 器中 */ ; /这个值将取代第一个 “?” 112); /进行查询,查询结果为第 2 条到第 3 条(条数从 0 开始) ,1 ); 说明: a) 后台分页查询,默认每次获取 20 条数据,此时前台页面 性不再起作用 b) 查询数据库中的字段名称要与 的属性名称符合规范 , 否则将无法正确将数据装入 字段名称 : 应 性 : c) 该分页查询支持后台分页,即在前台点击上下页时从后台查询 d) 查询 象的类型 e) 台表格 组件名称 f) 查询的 句,是一个完整的语句。例 11 by id 示例代码: 16 /使用 获得 象 ; /*本次查询所使用的 句,注意,这里的 句是完整的 句,而不是一个片断 */ 11; /进行查询,默认每次获取 20 条数据 页面 说明: a) 后台分页查询,默认每次获取 20 条数据,此时前台页面 性不再起作用, 查询结果存入 b) 该分页查询支持后台分页,即在前台点击上下页时从后台查询 c) 台表格 组件名称 d) 查询的 句,是一个完整的语句。例 11 by id 示例代码: /使用 获得 象 ; 17 /*本次查询所使用的 句,注意,这里的 句是完整的 句,而不是一个片断 */ 11; /进行查询,默认每次获取 20 条数据 页面 说明: a) 后 台 分 页 查 询 , 此 时 前 台 页 面 性 不 再 起 作 用 , 通 过明查询的起始位置,通过 明每次查询的数据总数 b) 查询数据库中的字段名称要与 的属性名称符合规范 , 否则将无法正确将数据装入 字段名称 : 应 性 : c) 该分页查询支持后台分页,即在前台点击上下页时从后台查询 18 d) 查询 象的类型 e) 台表格 组件名称 f) 查询的 句,是一个完整的语句。例 ? g) 属性中填充 件中的参数值 h) 页 获取数据总数 i) 数 ,从 1 开始 j) 序字段名 k) 序方式 者 示例代码: /使用 获得 象 ; /*本次查询所使用的 句,注意,这里的 句是完整的 句,而不是一个片断 */ ?; /*使用 器来传递参数,参数按照 句中的“?”顺序,被放入到 (); /这个值将取代第一个 “?” 11); /进行查询,查询结果为第 10 条到第 19 条(条数从 0 开始) 0,2, 页面 说明: a) 后台分页查询,此时前台页面 性不再起作用,通过明查询的起始位置,通过 明每次查询的数据总数, 查询结果存入 b) 该分页查询支持后台分页,即在前台点击上下页时从后台查询 c) 台表格 组件名称 d) 查询的 句,是一个完整的语句。例 ? e) 属性中填充 件中的参数值 f) 页 获取数 据总数 g) 数 ,从 1 开始 h) 序字段名 i) 序方式 者 示例代码: /使用 获得 象 ; /*本次查询所使用的 句,注意,这里的 句是完整的 句,而不是 20 一个片断 */ ?; /*使用 器来传递参数,参数按照 句中的“?”顺序,被放入到 (); /这个值将取代第一个 “?” 11); /进行查询,查询结果为第 10 条到第 19 条(条数从 0 开始) 0,2, 页面 说明: a) 后台分页查询,默认每次获取 20 条数据,此时前台页面 性不再起作用 b) 查询数据库中的字段名称要与 的属性名称符合规范 , 否则将无法正确将数据装入 21 字段名称 : 应 性 : c) 该分页查询支持后台分页,即在前台点击上下页时从后台查询 d) 查询 象的类型 e) 台表格 组件名称 f) 查询的 句,是一个完整的语句。例 ? g) 属性中填充 件中的参数值 h) 序字段名 i) 序方式 者 示例代码: /使用 获得 象 ; /*本次查询所使用的 句,注意,这里的 句是完整的 句,而不是一个片断 */ ?; /*使用 器来传递参数,参数按照 句中的“?”顺序,被放入到 (); /这个值将取代第一个 “?” 11); /进行查询,默认每次获取 20 条数据 页面 22 说明: a) 后台分页查询,默认每次获取 20 条数据,此时前台页面 性不再起作用, 查询结果存入 b) 该分页查询支持后台分页,即在前台点击上下页时从后台查询 c) 台表格 组件名称 d) 查询的 句,是一个完整的语句。例 ? e) 属性中填充 件中的参数值 f) 序字段名 g) 序方式 者 示例代码: /使用 获得 象 ; /*本次查询所使用的 句,注意,这里的 句是完整的 句,而不是一个片断 */ ?; /*使用 器来传递参数,参数按照 句中的“?”顺序,被放入到 3 容器中 */ ; /这个值将取代第一个 “?” 11); /进行查询,默认每次获取 20 条数据 页面 说明: a) 后台分页查询,默认每次获取 20 条数据,此时前台页面 性不再起作用 b) 查询数据库中的字段名称要 与 的属性名称符合规范 , 否则将无法正确将数据装入 字段名称 : 应 性 : c) 该分页查询支持后台分页,即在前台点击上下页时从后台查询 24 d) 查询 象的类型 e) 台表格 组件名称 f) 查询的 句,是一个完整的语句。例 ? g) 属性中填充 件中的参数值 示例代码: /使用 获得 象 ; /*本次查询所使用的 句,注意,这里的 句是完整的 句,而不是一个片断 */ ?; /*使用 器来传递参数,参数按照 句中的“?”顺序,被放入到 (); /这个值将取代第一个 “?” 11); /进行查询,默认每次获取 20 条数据 页面 25 说明: a) 后台分页查询,默认每次获取 20 条数据,此时前台页面 性不再起作用, 查询结果存入 b) 该分页查询支持后台分页,即在前台点击上下页时从后台查询 c) 台表格 组件名称 d) 查询的 句,是一个完整的语句。例 ? e) 属性中填充 件中的参数值 示例代码: /使用 获得 象 ; /*本次查询所使用的 句,注意,这里的 句是完整的 句,而不是一个片断 */ ?; /*使用 器来传递参数,参数按照 句中的“?”顺序,被放入到 (); /这个值将取代第一个 “?” 11); /进行查询 ,默认每次获取 20 条数据 页面 说明: a) 后台分页查询 ,此时前台页面 性不再起作用,通过明查询的起始位置,通过 明每次查询的数据总数 b) 查询数据库中的字段名称要与 的属性名称符合规范 , 否则将无法正确将数据装入 字段名称 : 应 性 : c) 该分页查询支持后台分页,即在前台点击上下页时从后台查询 d) 查询 象的类型 e) 台表格 组件名称 f) 查询的 句,是一个完整的语 句。例 ? g) 属性中填充 件中的参数值 h) 页 获取数据总数 i) 数 ,从 1 开始 示例代码: /使用 获得 象 27 ; /*本次查询所使用的 句,注意,这里的 句是完整的 句,而不是一个片断 */ ?; /*使用 器来传递参数,参数按照 句中的“?”顺序,被放入到 (); /这个值将取代第一个 “?” 11); /进行查询,查询结果为第 10 条到第 19 条(条数从 0 开始) 0,2); 页面 说明: a) 后台分页查询,此时前台页面 性不再起作用,通过明查询的起始位置,通过 明每次查询的数据总数, 查询结果存入 b) 该分页查询支持后台分页,即在前台点击上下页时从后台查询 28 c) 台表格 组件名称 d) 查询的 句,是一个完整的语句。例 ? e) 属性中填充 件中的参数值 f) 页 获取数据总数 g) 数 ,从 1 开始 示例代码: /使用 获得 象 ; /*本次查询所使用的 句,注意,这里的 句是完整的 句,而不是一个片断 */ ?; /*使用 器来传递参数,参数按照 句中的“?”顺序,被放入到 (); /这个值将取代第一个 “?” 11); /进行查询,查询结果为第 10 条到第 19 条(条数从 0 开始) 0,2); 页面 29 增删改 说明: a) 用来执行不返回结果集的 句。比如添加,修改,删除 句 b) 查询的 句,是一个完整的语句。例 by id c) 属性中填充 件中的参数值 示例代码: /使用 获得 象 ; /*本次查询所使用的 句,注意,这里的 句是完整的 句,而不是一个片断 */ ? by id ; /*使用 器来传递参数,参数按照 句中的“?”顺序,被放入到 器中 */ ; /这个值将取代第一个 “?” 112); /进行查询 作 含有 性 创建 要增加 性,需要 在 据库表结构两个地方做修改。 30 首先修改 们继续使用前面 例子,修改后的代码为: , 使用 型与之对应 . 最后数据库中的表结构也需要调整, : _31 ( 0) 0), 0), 5), 0), 0), 0), ; _注意:如果数据库中含有 段,查询的 句不能使用【 *】 例如: 错误的写法: 确的写法: id,. 对 操作 在对 性进行操作时,只把它当成一个普通的字符串操作即可 /使用 获得 象 ; /创建一 个新的 象,用来执行插入操作 ; ); 32 ; 方拉附近附近的路口附近啊打飞机;老大地离开积分;率达撒酒疯会计法;肯定是解放; ); 说明: a) 取出 方法 根据 主键和 段名 将数据库中的数据写入 组 中 b) 查询的 象 c) 象中将要取得的 属性名称 示例代码 /使用 获得 象 ; /创建一个新的 象,用来执行插入操作 ; /前提条件:主键为 1 的对象已经存在于数据库中 ); ; 说明: a) 取出 方法 根据 主键和 段名 将数据库中的数据写入指定的输出流中 b) 查询的 象 33 c) 象中将要取得的 属性名称 d) 将 数据写入此输出流中 示例代码 /使用 获得 象 ; /创建一个新的 象,用来执行插入操作 ; /前提条件:主键为 1 的对象已经存在于数据库
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论