mybatis框架&rouyi框架笔记

本文详细介绍了mybatis和rouyi框架的使用,包括mybatis的优化、jdbc与mybatis的对比、ssh/ssm框架的区别以及mybatis的自定义SQL配置。此外,还探讨了mybatis与hibernate的比较,并提供了spring-mybatis的配置示例。rouyi框架作为API网关,其作用、配置和路由规则也进行了讲解。
摘要由CSDN通过智能技术生成

后端
只要实现逻辑即可,要会使用数据库(一般使用mybatis框架)
mybatis框架支持定制化SQL,存储过程以及高级映射,避免了jdbc代码与手动设置参数以及获取结果集,可以把接口和java的pojos映射为数据库的记录
jdbc是一个用于执行SQL语句的java api,可以为多种关系型数据库提供统一的访问,由一组java语言编写的类与接口组成
有了jdbc可以使用统一的jdbc命令访问不同的数据库(oracle,sybase,informix),而且把java和jdbc结合起来,不管是windows还是linux操作平台都可以使用,做到了一次编写处处运行
mybatis消除了大量jdbc代码与参数的手工设置以及对结果集的检索封装,可以使用简单的xml或注解用于配置和原始映射,简化了jdbc的使用

mybatis相对于jdbc的优点:
1.优化获取和释放
一般都是通过数据库连接池访问数据库,数据库连接池由很多种,可以使用DataSource进行隔离解耦,统一从DataSource里获取数据库连接,打他source的具体实现是使用哪种连接池由用户配置
所以需要配置一下数据库连接池类型
2.sql统一管理数据存取
sql查询语句分布在各个java类里,所以维护和编译复杂
mybatis可以把SQL语句都放到配置文件里统一管理,修改配置文件不需重新编译部署
3.可以生成动态的SQL语句
一般组合的条件查询使用jdbc的话需要写多条SQL语句,
mybatis可以在配置文件里使用标签进行SQL语句的拼接生成动态的SQL语句


select count(*) from user


and nickname=#{nickname}


and email=#{email}


如果只是业务实现,后端只需要ssh/ssm即可
由于用户多,一个后端服务器是不够的,所以一个单机部署的挖人包不可能支撑,所以要做分布式,把一个tomcat变成一个tomcat集群,再弄一个web服务器做请求的负载均衡,同时要考虑state,session的一致性
随着业务复杂,需要把某些业务放到一个集群,另一些业务放到另一个集群,所以消息队列MQ,RPC框架(如Dubbo)产生,为了提供通讯效率,各种序列化工具(如protobuf)问世
单个数据库也无法并发访问,所以可以做数据库的读写分离,或者分库分表,这样的话必须跨库做join/排序,为了解决这些问题,产生了各种“数据访问中间件”的工具
为了最大程度提供性能,必须使用缓存,可以在本机缓存,也可以做分布式缓存,数据分片,数据迁移,失效转移又是很大的问题
用户上传图片之类的也需要搞一个分布式的文件系统,如fastDFS,需要高可用,可靠
数据量变大搜索的需求也浮出水面,可以弄一个支持全文索引的搜索引擎如Elasticsearch,solr
之后又要考虑安全,数据的加密解密,签名,证书,防止SQL注入,xss/csrf等攻击
有一个革命化技术docker可以让开发,测试,生成环境保持一致,系统原来只在环境上(mysql,tomcat,ngnix,jvm)上部署代码,现在把代码和环境一起打包,简化了运维的工作(协调各种分布式系统)
服务器可以搞一些虚拟的服务器,动态的扩展硬盘和内存,访问量大的时候用,小的时候释放
数据多了可以使用大数据分析用户行为,由于数据分析需要大量的时间,可以使用分布式的数据分析技术Hadoop及其生态系统

【ssh/ssm】
两个都是企业级mvc开源框架,可以读一下框架源码
可以把业务逻辑聚集到一个部件,实现逻辑与页面解耦
ssh一般使用struts2为controller,spring为service事务层,hibernate为持久层dao
ssm一般使用springmvc为controller,spring为service,mybatis为持久层
struts2是action级别,spring mvc是方法级别,更容易实现restful风格

struts2先在客户端初始化一个指向service容器(tomcat)的请求,这个请求经过一系列的过滤器后,filterdispatch而被调用,询问actionmapper决定这个请求是否要调用某个action
如果actionmapper决定需要调用一个action,filterdispatch把请求的处理交给actionproxy,actionproxy通过configuration manager询问框架的配置文件,找到需要调用的action类
actionproxy创建一个actionInvocation实例
ActionInvocation实例使用命名模式调用,在调用action的过程前后,涉及到相关拦截器intercepter的调用
action执行完毕,actionInvocation负责根据struts.xml中的配置找到1 对应的返回结果,返回结果一般是一个需要被表示的jsp或freemarker的模板

spring mvc的执行步骤
客户端先发送一个http请求给web服务器,web服务器对http请求解析,如果匹配dispatch而Servlet的请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值