首页 > 学院 > 开发设计 > 正文

一些框架的学习与了解

2019-11-11 05:16:00
字体:
来源:转载
供稿:网友

一、MQ

MQ,Message  Queue 消息队列,消息中间件,是一种应用程序对应用程序通信方式,应用程序都是通过队列的方式发送和检索需要传递的数据消息,而无需专用的链接来连接它们。队列的使用除去了接受和发送应用程序同时执行的要求。

JMS java message service java消息服务,是sun推出的中间件服务的一个标准和API定义。

MQ的实现可以基于JMS,也可以基于其他的规范和标准。

成熟的产品有:apache 的ActiveMQ,对JMS和JavaEE完全支持。比较成熟,支持多种语言的客户端。

 RabbitMQ 在AMQP的基础上完成的。

ZeroMQ轻量级。

二、配置多个数据源的方案

SPRing本身提供了动态数据源的抽象实现类。org,springframework.jdbc.datasource.lookup.AbstractRoutingDataSource。

实现步骤:1、首先applicationConcext.xml中配置多个数据源的datasource,然后配置一个来管理多个数据源的datasource。

2、继承AbstractRoutingDataSource类,实现具体的方法。

3、创建一个AbstractRoutingDataSource实现类的管理类,可以动态的设置数据源。

4、在具体的Dao中设置相应的数据源后即可针对某一数据库做相应的增删改查操作。

三、UML

UML Unified Modeling Language 统一建模语言,是一组用于描述面向对象分析设计OOAD的图形化表达方式。

UML为交流面向对象的设计中的需求、行为、体系结构的实现提供了一套综合的表示方法

四、关于SQL优化的问题

尽量避免全表扫描。

对主键、外键建立索引,对经常查询的字段、order by的字段、group by的字段建立索引。

多个表连接查询时,每次只连接两个表,将产生的结果再与其他做连接。

防止索引失效,MySQL用explain查看sql执行情况。

五、hibernate和mybatis的对比

同样是数据库持久化层框架,对关系数据库做了封装。对象关系映射框架。

hibernate对数据库做了更完整的封装。hibernate数据库移植性较好,mybatis针对不同的数据库不同的sql。

mybatis可以人工的sql优化,可以减少查询的字段,mybatis需要维护SQL和结果映射。

六、mybatis的关联查询

通过resultMap实现复杂的查询;

一对多的两种实现方式:

1、嵌套查询,嵌套select ,在collection配置中连接一个select。查询两次,首先查询主表,得到数据后根据配置的字段查询关联表。返回的数据没有冗余。

2、关联查询,直接sql中体现两表关联,一次查询即可实现结果。主表信息有冗余。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表