北大青鸟

网站首页 > 常见IT技术问题 > Java开发 >

站内公告

J2EE平台SQL查询语句集中管理解决方案

责任编辑:宏鹏来源:武汉北大青鸟鲁广校区时间:2012-10-09 10:47:15
导读:很多架构师陷入了为架构而架构的怪圈,引入越来越多的没有测试过的开源组件,增加越来越多的适配层,导致系统底层架构没有人能驾驭以致出现问题。

SQL性能无法预测,至少运行前无法检测(目前大部分现象都是出现性能问题到生产环境采集SQL,但是由于业务的周期性,存在SQL的覆盖率问题,另外采集毕竟是个相对专业的技术活);

查询逻辑变化,由于SQL/HQL散落在代码的各个角落,必然导致维护起来很麻烦,且数据库设计人员无法知道程序员的SQL语句是否正确;

不支持热部署,尤其是在集群部署环境下,部署工作运维人员头疼!

解决思路我画了一个图:

大概描述一下:

由core_query表统一管理SQL查询语句;

开发一个管理界面维护core_sql表,并更新至分布式缓存;

应用启动时从core_query表加载SQL语句至缓存,应用从缓存中获取SQL语句;

SQL语句采用命名查询的概念,即每条SQL语句都有一个一的名称,可以采用名称空间命名;

应用调用采用spring提供的jdbcTemplate的queryForList(String queryName, Object[] args)方法进行查询,返回类型为:List<Map>,尤其在jstl,显示数据与List<User>完一致;

每条SQL语句可以扩展支持查询缓存;

实现目标:

事前准确评估性能:所有查询语句统一管理,便于在设计开发阶段准确评估性能问题,避免系统运行过程中出现的性能瓶颈;

查询逻辑变更后维护方便;

支持热部署,支持集群环境热部署;

一些经验:

所有select语句(除通过主键load单条记录外),部采用命名查询,由core_query表统一存储管理;

单条记录的insert、delete、update和load,可以采用ORM技术,在dao层完成数据库读写;

批量的delete和update语句,采用命名查询方式;

专注查询,避免了 SQL 或者 HQL 代码分散于整个应用程序中的情况;

【北大青鸟鲁广校区】更多java技术java培训的知识请咨询在线老师或致电:17740513250 17740513250

本文标题:J2EE平台SQL查询语句集中管理解决方案,责任编辑:宏鹏,来源:武汉北大青鸟鲁广校区栏目,于2012-10-09 10:47:15发布于北大青鸟鲁广校区。很多架构师陷入了为架构而架构的怪圈,引入越来越多的没有测试过的开源组件,增加越来越多的适配层,导致系统底层架构没有人能驾驭以致出现问题。

专业老师指导

赵老师

赵老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业

立即在线咨询

培训咨询客服

陈老师

陈老师

IT培训专业客服,用自己的真诚解决了无数学子的困惑

立即在线咨询

本文地址:https://m.027hpedu.com/wenda/java/1733.html

文章标题:J2EE平台SQL查询语句集中管理解决方案

上一篇:java技术jave培训之编程中存在的乱码问题

下一篇:北大青鸟导读 受欢迎的编程语言

热点关注

推荐Java开发

热门Java开发

预约你的精彩未来

预约将免费领取7天课程体验卡

-------请选择试预约课程-------

JAVA
WEB前端
PHP
UI设计
Python
电子商务
视频剪辑
大数据工程师
平面设计

83345人已领取

全国百余家校区

只为您方便就学

北大青鸟鲁广校区

北大青鸟鲁广校区

武汉市洪山区珞喻路724号(地铁二号线光谷广场站F口出)

预约到校
领取学习大礼包

首页

热门课程

视频网课

新闻资讯

关于学校

联系学校

预约选课申请

  • 预约时间

    请选择预约时间

  • 预约课程

    请选择预约课程

  • 姓   名
  • 手机号
  • QQ 号
  • 微信号

添加老师微信号

专业老师24小时1对1学习指导

定制专属于你的专属学习方案

微信号:17740513250

复制老师的微信号

复制成功啦

快去微信添加老师为好友吧~

北大青鸟小青

微信号:17740513250

北大青鸟小青

微信号:17740513250

设置备注
小主知道啦