当前位置: 首页 > news >正文

天津企商网站建设公司最稳定的免费的资源共享网站

天津企商网站建设公司,最稳定的免费的资源共享网站,做音响网站,手机网站打开自动wap纯JDBC系统的开发随想前两天#xff0c;两个个纯后台应用项目在没有充分论证的情况下使用了SpringiBatis实现#xff0c;从需求到实现、测试历经两天时间#xff0c;实际代码开发时间是8小时#xff0c;时间比较短#xff0c;因为有以前的代码积累。再加上对框架熟烂于心两个个纯后台应用项目在没有充分论证的情况下使用了SpringiBatis实现从需求到实现、测试历经两天时间实际代码开发时间是8小时时间比较短因为有以前的代码积累。再加上对框架熟烂于心就像聊天一般的把系统实现了。 今天迫于压力需要推翻重做只允许用JDBC包括日志工具包其他的一概不让使用。我也挺郁闷的刚做好测完了又要推翻重来-----沉住气硬是花了6个小时时间把这两个项目的后台代码全用JDBC实现了不是说写JDBC代码快而是因为给予对需求和数据库有了透彻理解的基础上。 写这些不是想发什么牢骚而是对JDBC有了一些思考。如果现在谁要说自己系统用JDBC所写很容易让人瞧不起感觉很低级。因为JDBC太基础用的好与用不好有着天壤之别。就像一把利剑是否对你有利要看你握着剑柄还是剑刃。 着这里我不是因为项目用了JDBC费劲而批判什么而是要为JDBC正个身把自己开发JDBC系统的体验与大家分享JDBC好与不好全看你怎么用了。 本人看过无数的JDBC代码很多系统有初学者的有老手的。但没看过很优雅分层的JDBC系统。很多代码都是面向过程式的往下堆看着到处的try。。。catch操作结果集代码早已把业务逻辑淹没了这可以说是一般JDBC系统的通病。 JDBC是在开发者很郁闷代码不好写不好维护不好分层那用它干啥啊大多数开发者一般会首先考虑一个问题自己实现一个系统怎么做代价更小的问题。因此JDBC在第一轮的权衡下就被Out了。 对此问题进一步分析看看能不能找到更好的解决方式。 JDBC代码为什么不好写要管理数据库连接要复用连接提高性能要将结果集与Bean自动绑定要管理事务要处理众多的SQLException。 JDBC为什么不好维护因为代码不好写写得很烂业务和数据混杂在一起这样能好维护吗 JDBC为什么难以分层跨层调用Connection谁来管理如何做到复用事务控制在哪层如何提交事务如何将业务和数据分离还需要DAO吗 基于以上问题的分析我把我实现过程中的一些经验总结出来与大家分享并不能算最好也许更好的。 1、包装一个JDBC工具类可产静态产生连接和执行各种SQL。这是最基本的可以省去很多重复的代码。必要的话可以自己实现各连接池或者用开源的。这样操作数据库的最低级代码得到了一次大的减肥。 2、而考虑系统的分层系统分层是很必要的逻辑清晰易于维护数据和业务分离。因此应该有DAO层其次是服务层业务层)Service,有了这两层业务-数据实基本上已经实现分离了。 3、建立了层那么下来就是如何管理层之间的调用主要是数据库连接这里常常看到一个很低级也不容易发现的设计上缺陷在DAO中创建SQL连接处理SQLException、并用完后立即关闭。这表面上看似没有错但不要忘记了事务是在Service上事务应该放到Service层上做控制。你在DAO中把这些活都干了显然不合理再说很多DAO调用才形成了一个业务显然那样做一个业务的实现需要多次打开和关闭数据库连接这是导致性能急剧下降的原因。因此得出一个结论不要再DAO层去管理连接。因此可以考虑在每个Service业务中获取数据连接在业务中将Connection传递给DAO在DAO中不要处理异常上抛吧以便业务层捕获并处理。对比Spring的事务处理也是将每个业务方法的数据库连接都保存在一个线程变量中这样既实现了连接复用也方便了事务控制。 4、如何用JDBC实现高级框架的关联查询。典型的就是一多关系查询。这里可以分两步实现实际上Hibernate、iBatis也是分两步来实现看看SQL便可知道了。而且要注意两个ResultSet嵌套时候的关系如果是多层的更应该注重这种层次关系。 5、以上问题都解决了还有几个不爽的地方ResultSet到Bean对象集合的转换这个可以通过Apache Commons DBUitls来得到解决数据库持久化类的书写我写了200行左右的工具可以轻松解决。动态条件SQL拼装这个问题是非常有挑战性的目前我就用if。。else。。。做个简单判定来拼装。很麻烦可以学习下iBatis的源码看看如何实现。 6、对于事务控制目前没有需求但是已经也考虑到了可以使用JDBC自己的事务管理也可以使用cglib或者开源的工具来实现多高的复杂度要看你的时间来决定了。 到目前为止我的项目也不是那么完美还有很多地方可以不用硬编码但是时间和精力有限。也希望和大家一块讨论。 另外对于MySQL数据库如果要连接多个数据库并且这多个数据库在一个MySQL上可以用一个数据库连接URL就行然后在SQL中就可以动态指定操作的是哪个数据库上表。这样避免为一个数据库创建一个连接管理配置。
http://www.yutouwan.com/news/197321/

相关文章:

  • 正能量视频素材免费下载网站网站要有可留言功能 怎么做
  • 企业网站 费用室内设计方案介绍ppt
  • 西京一师一优课建设网站网站为什么维护中
  • wordpress的知名网站wordpress mkv格式
  • 郑州网站建设公司 排行桂林市工程建设项目招标网站
  • 成都网站设计排名的公司价格网店美工培训
  • 做云购网站佛山顺德网站制作公司哪家好
  • 衡水企业网站设计php网站开发什么
  • 做一个信息发布网站要多少钱用来做网页的软件
  • 快递公司网站制作公司广告设计图片
  • 南宁网站搭建手机百度高级搜索入口在哪里
  • 东莞做一个企业网站要多少钱北海做网站哪家好
  • 在哪个网站做外快设计如何设置wordpress永久链接
  • 我是一条龙怎么停更了关键词优化哪个好
  • 专门做推广的网站吗网络组建与应用实训报告
  • 上海网站建设500元重庆长寿网站设计公司哪家专业
  • 网站申请名称和域名网站数据库备份还原
  • 招标文件免费下载网站烟台违建举报网站
  • 厦门php网站建设昆山建设工程招聘信息网站
  • 专业网站建设定制南昌seo网站推广
  • 做网站深紫色搭配什么颜色微信定制开发多少钱
  • 怎么提高网站收录量优书网注册
  • 在线教学网站开发德阳响应式网站建设
  • 生活信息网站建设发布信息的网站
  • 北京seo公司网站90设计网站是不是没有视频模板
  • 网站建设 保密网络推广的方式方法
  • 小公司做网站需要注意什么问题哪里app开发公司好
  • dw怎么做秋季运动会网站分销平台合生元
  • 浙江建设厅网站那三类人员怎么制作自己的微信公众号
  • 企业型商务网站制作做法南阳新闻最新消息