ilaotou 2012-11-20 15:51
浏览 264
已采纳

项目中如何进行代码和名称的转换

现在做一WEB项目,数据库中定义了很多代码表,即代码和名称,业务主表中存储的都是代码,查询显示时需要把代码转换成对应的名称,现在有两种做法,一种是查询时直接进行关联查询,把代码对应的名称查询出业,但这样的效率很低,假如主表中有十个代码字段需要转换,就要关联十次。另外一种是先查询出来,然后在页面上写自定义标签进行转换,自定义标签的查询可以从数据库中查询,也可以从缓存中查询,但这样的话,页面端就要多十次http请求,如果查询结果是列表,那就要多几十次http请求

不知道有没有更好的解决方案

  • 写回答

1条回答 默认 最新

  • blogzhoubo 2012-11-20 17:44
    关注

    你说的两种方法是这样的:

    1.关联查询
    如果能够用一个SQL实现,并且SQL的执行效率还可以接受的话,可以采用,这样
    应用程序就变得比较简单了,把工作仍给DB去解决。如果SQL拼接比较麻烦,并且查询效率不能接受的话,那就只能用下面的第2种方法了。

    2.用自定义标签来做,比如JSP自定义标签
    你说的页面端就要多十次http请求,这种情况是不存在的,不用担心(你又不是用JAVASCRIPT在前端发起HTTP请求),
    因为JSP自定义标签是在服务端运行的,只有都运行完以后才返回JSP页面。

    执行过程是这样的:

    客户端REQUEST---〉服务端访问DB--〉FORWARD给JSP页面-->执行JSP内的动态代码(包括自定义标签)--〉把JSP生成的静态HTML返回给客户端

    可以把代码表的数据先查询到BEAN中缓存起来,然后自定义标签通过CODE把NAME从BEAN中GET出来,显示到画面上就可以了。如果每次都从DB查询的话,响应速度会降低,而且数据库的连接数也会变大,不是很好,毕竟是代码表,用不着每次都实时去取。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条