版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、GBU客户化开发中心伙伴培训课程NC数据库操作数据库操作何胜利2007-03-25 内部经营内部经营人员经营人员经营成果经营成果经营客户经营客户经营找出发展机找出发展机edesafaaaaadsdfdffdd会并进行初步筛选会并进行初步筛选NCV5以前版本的典型代码以前版本的典型代码1.定义sql语句: String strSql=“select . From .where .”2.定义连接: con = getConnection()3.定义stmt: stmt = con.prepareStatement(strSql)4.给条件赋值:stmt.setString(1, key)5.执行查
2、询:ResultSet rs = stmt.executeQuery()6.处理结果集:while (rs.next() rs.getString(1); rs.getDecimal(2);. 7.处理异常关闭连接: stmt.close(); con.close(); 内部经营内部经营人员经营人员经营成果经营成果经营客户经营客户经营找出发展机会并进找出发展机会并进行初步筛选行初步筛选项目经营项目经营弊端弊端:嵌入大量SQL语句,冗余是不可避免的 一次又一次地编写相同的普通代码 ,工作效率低代码难以维护,表结构一点小改动就难以承受数据库访问异常不统一 内部经营内部经营人员经营人员经营成果经营成
3、果经营客户经营客户经营找出发展机会并进找出发展机会并进行初步筛选行初步筛选项目经营项目经营V5新的数据库访问框架新的数据库访问框架 JDBC FrameWork 1. 灵活 2. 简洁3. 高的容错性4. 异常的统一处理DataBaseJDBCAPIJDBCFrameworkDataAccessObjectBusinessService业务委托接口,提供EJB封装数据访问对象,组织数据访问逻辑提供统一的数据操作访问,简化数据访问操作 内部经营内部经营人员经营人员经营成果经营成果经营客户经营客户经营找出发展机会并进找出发展机会并进行初步筛选行初步筛选项目经营项目经营PersistenceMana
4、ger 管理连接会话的生命周期,并提供了对单表管理连接会话的生命周期,并提供了对单表VO操作的常用实现操作的常用实现 JdbcSession 对对JDBC的的API封装和简化封装和简化SQLParameter 封装执行封装执行SQL的参数的参数ResultSetProcessor 结果集处理回调接口,封装结果集处理结果集处理回调接口,封装结果集处理DbException 封装不同数据库的异常,和统一处理不同数据库的封装不同数据库的异常,和统一处理不同数据库的Error CodeBaseDAO / IUAPQueryBS / IVOPersistence 管理连接会话的生命周期,提供了对单表管理
5、连接会话的生命周期,提供了对单表VO操作的常用实现操作的常用实现 内部经营内部经营人员经营人员经营成果经营成果经营客户经营客户经营找出发展机会并进找出发展机会并进行初步筛选行初步筛选项目经营项目经营1.前台数据访问前台数据访问使用使用IVOPersistence服务组件,进行增删改操作;服务组件,进行增删改操作;使用使用IUAPQueryBS服务组件,进行查询操作。服务组件,进行查询操作。 IUAPQueryBS iUAPQueryBS = (IUAPQueryBS)NCLocator.getInstance().lookup(IUAPQueryBS.class.getName(); iUAP
6、QueryBS. executeQuery()executeQuery() 2.后台数据访问后台数据访问 使用使用BaseDAO工具类,进行单表对象的工具类,进行单表对象的CRUD操作;操作;使用使用PersistenceManager,进行单表对象的进行单表对象的CRUD操作操作 new BaseDAO(). insertObject()insertObject() 内部经营内部经营人员经营人员经营成果经营成果经营客户经营客户经营找出发展机会并进找出发展机会并进行初步筛选行初步筛选项目经营项目经营JdbcSession的创建的创建 PersistenceManagersessionManag
7、er=PersistenceManager.getInstance();tryJdbcSessionsession=sessionManager.getJdbcSession();/数据库访问操作数据库访问操作session.insert();session.update();session.query();catch(DbExceptione)finallysessionManager.release();/需要关闭会话 内部经营内部经营人员经营人员经营成果经营成果经营客户经营客户经营找出发展机会并进找出发展机会并进行初步筛选行初步筛选项目经营项目经营String sql = select
8、* from bd_deptdoc; /构造查询语句构造查询语句List list = (List) session.executeQuery(sql, new ArrayListProcessor();String sql = select * from bd_deptdoc where dept_code=?;SQLParameter param = new SQLParameter(); /构造参数对象构造参数对象param.addParam(“aaa”); /添加参数添加参数List list=(List) session.executeQuery(sql, param, new Ar
9、rayListProcessor(); 内部经营内部经营人员经营人员经营成果经营成果经营客户经营客户经营找出发展机会并进找出发展机会并进行初步筛选行初步筛选项目经营项目经营String sql = update bd_deptdoc set dept_code =aaawhere dept_code=bbb; session.executeUpdate(sql);String sql = update bd_deptdoc set dept_code =aaawhere dept_code=?”; SQLParameter param = new SQLParameter(); /构造参数对象
10、构造参数对象param.addParam(“bbb”); /添加参数添加参数session.executeUpdate(sql, param); 内部经营内部经营人员经营人员经营成果经营成果经营客户经营客户经营找出发展机会并进找出发展机会并进行初步筛选行初步筛选项目经营项目经营String sql = update bd_deptdoc set dept_code =aaa where dept_code=bbb; session.addBatch(sql); /添加需要执行的同构添加需要执行的同构SQLint rows = session.executeBatch(); /执行执行Strin
11、g sql = update bd_deptdoc set dept_code =aaa where dept_code=?”; SQLParameter param = new SQLParameter(); /构造参数对象构造参数对象param.addParam(“bbb”); /添加参数添加参数session.addBatch(sql, param); /添加需要执行的同构添加需要执行的同构SQLint rows = session.executeBatch(); /执行执行 内部经营内部经营人员经营人员经营成果经营成果经营客户经营客户经营找出发展机会并进找出发展机会并进行初步筛选行初步
12、筛选项目经营项目经营特殊参数特殊参数1. Null参数参数param.addNullParam(java.sql.Types.INTEGER);2. Blob参数参数param.addBlobParam (new Object(); 3. Clob参数参数param.addClobParam (new String(); 内部经营内部经营人员经营人员经营成果经营成果经营客户经营客户经营找出发展机会并进找出发展机会并进行初步筛选行初步筛选项目经营项目经营结果集合的处理结果集合的处理 内部经营内部经营人员经营人员经营成果经营成果经营客户经营客户经营找出发展机会并进找出发展机会并进行初步筛选行初步筛
13、选项目经营项目经营ArrayProcessor数组处理器,返回一个对象数组,结果集中只有一行数据,其中结果集中每一列对应数组的一个元素 ArrayListProcessor数组集合处理器,返回一个ArrayList集合,集合中的每一个元素是一个数组,每个数组对应结果集中的一行数据,其中结果集中每一列对应数组的一个元素 MapProcessorHashMap处理器,返回一个HashMap,结果集中只有一行数据,其中结果集合中每一列的列名和列值对应HashMap的一个关键字和相应的值 MapListProcessorHashMap集合处理器,返回一个ArrayList集合,集合中的每一个元素是一个
14、HashMap,每个HashMap对应结果集中的一行数据,其中结果集合中每一列的列名和列值对应HashMap的一个关键字和相应的值 内部经营内部经营人员经营人员经营成果经营成果经营客户经营客户经营找出发展机会并进找出发展机会并进行初步筛选行初步筛选项目经营项目经营BeanProcessor值对象处理器,返回一个JavaBean,结果集中只有一行数据,该处理器能自动把结果集中的值按列的名称映射到javaBean中,如结果集中有名称为”name”的字段,那么只要该java对象中有getName()方法就能把结果集合中”name”对应的值映射到对象中 BeanListProcessor值对象集合处理
15、器,返回一个ArrayList集合,集合中的每一个元素是一个javaBean,每个javaBean对应结果集合中一行数据,其中每个JavaBean中的数据映射关系和BeanProcess同理 ColumnProcessor列值处理器,返回一个Java对象,结果集中只有一行数据,该对象对应与结果集中某一列的值,该处理器通过结果集列的序号或名称来确定列 内部经营内部经营人员经营人员经营成果经营成果经营客户经营客户经营找出发展机会并进找出发展机会并进行初步筛选行初步筛选项目经营项目经营自定义的结果集处理器自定义的结果集处理器publicclassCustomProcessorextendsBaseProcessorpublicObjectproces
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教部编版八年级语文上册期中专项复习试题含解析(全册)
- 2024年秋季新教材三年级上册PEP英语教学课件:含音频U2 第2课时 A
- 节日主题 《我爱妈妈》母亲节幼儿园小学少儿美术教育绘画课件创意教程教案
- 2024年海外航空行业市场前景及投资研究报告:航空业景气度修复海外航司经营
- 进阶特训04 文言文、散文、议论文、名著阅读(解析版)
- 公司问责管理制度
- 2024学年上海市12校高三一诊考试英语试卷(含解析)
- 安全管理员安全培训试题及答案(夺冠系列)
- 公司项目负责人安全培训试题附下载答案
- 企业级安全培训试题答案完美
- 中医中药防治冠心病培训课件
- 四年级英语集体备课记录表
- 关于欧亚牛奶的分析报告
- 现在进行时(全国一等奖)
- 实体书店与文化产业市场前景分析
- 民族宗教法律知识讲座
- 文明出行拍摄方案
- 市立医院院级患者安全专项行动方案根据患者安全专项行动方案2023-2025年制订
- 小学项目化学习案例:数学《用我的“尺”解决问题》迭代案例
- Python网络爬虫与数据采集答案1
- 检验科培训课件
评论
0/150
提交评论