初学入门:一劳永逸的数据库编码解决方案

发表于:2007-11-28 12:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

  现在我们已经把三个接口的代理类做好了,下一步就是怎么来使用这三个类。其实对于使用者来讲并不需要关心三个类,只需要了解_Connection就可以了,因为另外两个是_Connection直接调用的。为了使用_Connection我们必须传入两个参数,第一个是数据库实际的数据库连接实例,另外一个是布尔值代表是否进行转码处理。我们必须先通过实际的情况获取到数据库连接后再传入_Connection的构造函数作为参数,下面例子告诉你如何来使用_Connection这个类:

  Connection conn = getConnection(); //获取数据库连接
  boolean coding = false; //从配置或者其他地方读取是否进行转码的配置
  //接管数据库连接实例
  _Connection _conn = new _Connection(conn,coding);
  //获得接管后的数据库连接实例,以后直接使用conn2而不是conn
  Connection conn2 = _conn.getConnection();

  因为对一个应用系统来讲,数据库连接的获取必然有统一的方法,在这个方法中加入对连接的接管就可以一劳永逸的解决数据库的编码问题。 

  性能比较

  功能没有问题了,开发者接下来就会关心性能的问题,因为在进行一些对响应速度要求很高或者大数据量的处理情况下性能就成为一个非常突出的问题。由于JAVA中的动态接口代理采用的是反射(Reflection)机制,同时又加入我们自己的一些代码例如方法名判断,字符串转码等操作因此在性能上肯定比不上直接使用没有经过接管的数据库连接。但是这点性能上的差别是不是我们可以忍受的呢,二者的性能的差别非常小,尽管在两万条数据的批量插入的时候时间差别也不会多于一秒钟,这样的结果应该说还是令人满意的,毕竟为了程序良好的结构有时候牺牲一点点性能还是值得的。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号