欢迎来到天天文库
浏览记录
ID:20866747
大小:1.14 MB
页数:18页
时间:2018-10-17
《ncv5数据库操作课件.》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、NC502客户化开发培训用友软件股份有限公司集团及行业客开管理部张时栋2008年3月20日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.g
2、etString(1);rs.getDecimal(2);………..}7.处理异常关闭连接:stmt.close();con.close();弊端:嵌入大量SQL语句,冗余是不可避免的一次又一次地编写相同的普通代码,工作效率低代码难以维护,表结构一点小改动就难以承受数据库访问异常不统一V5新的数据库访问框架JDBCFrameWork1.灵活2.简洁3.高的容错性4.异常的统一处理核心类与工具类PersistenceManager管理连接会话的生命周期,并提供了对单表VO操作的常用实现JdbcSession对JDBC的API封装和简化SQLParame
3、ter封装执行SQL的参数ResultSetProcessor结果集处理回调接口,封装结果集处理DbException封装不同数据库的异常,和统一处理不同数据库的ErrorCodeBaseDAO/IUAPQueryBS/IVOPersistence管理连接会话的生命周期,提供了对单表VO操作的常用实现1.前台数据访问使用IVOPersistence服务组件,进行增删改操作;使用IUAPQueryBS服务组件,进行查询操作。IUAPQueryBSiUAPQueryBS=(IUAPQueryBS)NCLocator.getInstance().looku
4、p(IUAPQueryBS.class.getName());iUAPQueryBS.executeQuery()2.后台数据访问使用BaseDAO工具类,进行单表对象的CRUD操作;使用PersistenceManager,进行单表对象的CRUD操作newBaseDAO().insertObject()JdbcSession的创建PersistenceManagersessionManager=PersistenceManager.getInstance();try{JdbcSessionsession=sessionManager.getJdbc
5、Session();//数据库访问操作session.insert(…);session.update(…);session.query(…);}catch(DbExceptione){}finally{sessionManager.release();//需要关闭会话}JdbcSession基本操作1.无参查询Stringsql="select*frombd_deptdoc";//构造查询语句Listlist=(List)session.executeQuery(sql,newArrayListProcessor());2.有参查询Stringsq
6、l="select*frombd_deptdocwheredept_code=?";SQLParameterparam=newSQLParameter();//构造参数对象param.addParam(“aaa”);//添加参数Listlist=(List)session.executeQuery(sql,param,newArrayListProcessor());JdbcSession基本操作3.无参更新Stringsql="updatebd_deptdocsetdept_code=‘aaa’wheredept_code=‘bbb’";sessi
7、on.executeUpdate(sql);4.有参更新Stringsql="updatebd_deptdocsetdept_code=‘aaa’wheredept_code=?”;SQLParameterparam=newSQLParameter();//构造参数对象param.addParam(“bbb”);//添加参数session.executeUpdate(sql,param);JdbcSession基本操作5.无参批量更新Stringsql="updatebd_deptdocsetdept_code=‘aaa’wheredept_code
8、=‘bbb’";session.addBatch(sql);//添加需要执行的同构SQLintrows=se
此文档下载收益归作者所有