电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

NC5客开培训资料-NCV5数据库操作.pptVIP免费

NC5客开培训资料-NCV5数据库操作.ppt_第1页
1/16
NC5客开培训资料-NCV5数据库操作.ppt_第2页
2/16
NC客户化开发培训持久层操作用友软件股份有限公司NCV5以前版本的典型代码1.定义sql语句:StringstrSql=“select…….From…..where…..”2.定义连接:con=getConnection()3.定义stmt:stmt=con.prepareStatement(strSql)4.给条件赋值:stmt.setString(1,key)5.执行查询:ResultSetrs=stmt.executeQuery()6.处理结果集:while(rs.next()){rs.getString(1);rs.getDecimal(2);………..}7.处理异常关闭连接:stmt.close();con.close();数据库访问框架JDBCFrameWork1.灵活2.简洁3.高的容错性4.异常的统一处理DataBaseJDBCAPIJDBCFrameworkDataAccessObjectBusinessService业务委托接口,提供EJB封装数据访问对象,组织数据访问逻辑提供统一的数据操作访问,简化数据访问操作核心类与工具类核心类与工具类•PersistenceManager–管理连接会话的生命周期,并提供了对单表VO操作的常用实现–可以传递构造参数选择不同的数据源•JdbcSession–对JDBC的API封装和简化•SQLParameter–封装执行SQL的参数•ResultSetProcessor–结果集处理回调接口,封装结果集处理•DbException–封装不同数据库的异常,和统一处理不同数据库的ErrorCodeBaseDAO/IUAPQueryBS/IVOPersistence–管理连接会话的生命周期,提供了对单表VO操作的常用实现不同的访问方式1.前台数据访问使用IVOPersistence服务组件,进行增删改操作;使用IUAPQueryBS服务组件,进行查询操作。IUAPQueryBSiUAPQueryBS=(IUAPQueryBS)NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());iUAPQueryBS.executeQuery()2.后台数据访问使用BaseDAO工具类,进行单表对象的CRUD操作;使用PersistenceManager,进行单表对象的CRUD操作newBaseDAO().insertObject()BaseDAO构造参数可以指定数据源通过JdbcSession访问数据库PersistenceManagersessionManager=PersistenceManager.getInstance();try{JdbcSessionsession=sessionManager.getJdbcSession();//数据库访问操作session.executeQuery(…);session.executeUpdate(…);}catch(DbExceptione){}finally{sessionManager.release();//需要关闭会话}JdbcSessionJdbcSession基本操作基本操作1.1.无参查询无参查询Stringsql="select*frombd_deptdoc";//构造查询语句Listlist=(List)session.executeQuery(sql,newArrayListProcessor());2.2.有参查询有参查询Stringsql="select*frombd_deptdocwheredept_code=?";SQLParameterparam=newSQLParameter();//构造参数对象param.addParam(“aaa”);//添加参数Listlist=(List)session.executeQuery(sql,param,newArrayListProcessor());3.3.有参更新有参更新Stringsql="updatebd_deptdocsetdept_code=‘aaa’wheredept_code=?”;SQLParameterparam=newSQLParameter();//构造参数对象param.addParam(“bbb”);//添加参数session.executeUpdate(sql,param);JdbcSessionJdbcSession基本操作基本操作5.5.无参批量更新无参批量更新Stringsql="updatebd_deptdocsetdept_code=‘aaa’wheredept_code=‘bbb’";session.addBatch(sql);//添加需要执行的同构SQLintrows=session.executeBatch();//执6.特殊参数1.Null参数param.addNullParam(java.sql.Types.INTEGER);2.Blob参数param.addBlobParam(newObject());3.Clob参数param.addClobParam(newString());结果集合的处理对查询结果集合的处理,主要由ResultProcessor类来实现,这是一个接口ResultProcessor包含有一个简单的方法,不同的ResultProcessor实现返回不同的结果对象。系统提供了一系列常用的默认实现。结果集类ArrayProcessor数组处理器,返回一个对象数组,结果集中只有一行数据,其中结果集中每一列对应数组的一个元素。ArrayListProcessor数组集合处理器,返回一个ArrayList集合,集合中的每一个元素是一个数组,每个数组对应结果集中的一行数据,其中结果集中每一列对应数组的一个元素。MapProcessorHashMap处理器,返回一个HashMap,结果集中只有一行数据,其中结果集合中每一列的列名和列值对应HashMap的一个关键字和相应的值。MapListProcessorHashMap集合处理器,返回一个ArrayList集合,集合中的每一个元素是一个HashMap,每个HashMap对应结果集中的一行数据,其中结果集合中每一列的列名和列值对应HashMap的一个关键字和相应的值。BeanProcessor值对象处理器,返回一个JavaBean,结果集中只有一行数据,该处理器能自动把结果集中的值按列的名称映射到javaBean中,如结果集中有名称为”name”的字段,那么只要该java对象中有getName()方法就能把结果集合中”name”对应的值映射到对象中。BeanListProcessor值对象集合处理器,返回一个ArrayList集合,集合中的每一个元素是一个javaBean,每个javaBean对应结果集合中一行数据,其中每个JavaBean中的数据映射关系和BeanProcess同理。还有ColumnProcessor,BeanMappingListProcessor,BeanMappingProces结果集的例子ArrayListlist=(ArrayList)session.executeQuery(sql,param,newBeanListProcessor(TrainReqmatbillVO.class));intlistcount=list.size();TrainReqmatbillVO[]vos=newTrainReqmatbillVO[listcount];for(inti=0;i

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

NC5客开培训资料-NCV5数据库操作.ppt

您可能关注的文档

确认删除?
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
微信
  • 微信