- 博客(13)
- 收藏
- 关注
原创 struts2和springMVC的区别
1.拦截器级别不同Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,因为Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了。2.由上边原因,SpringMVC的方法之间基本上独立的,独享request r
2020-08-27 20:49:08
316
原创 springmvc工作原理
1.工作原理1.用户发送请求至前端控制器DispatcherServlet2.DispatcherServlet收到请求,调用HandlerMapping处理器映射器。3.处理器映射器根据请求url,找到具体的处理器,生成处理器对象及处理器拦截器,如果有则生成一并返回给DispatcherServlet。4.DispatcherServlet通过HandlerAdapter处理器适配器调用处理器;5.执行处理器Controller,也叫后端控制器6.Controller执行完成返回ModelAn
2020-08-06 10:22:36
148
原创 Mybatis都有哪些Executor执行器?它们之间的区别是什么?
1.mybatis有三种executor执行器,分别为simpleexecutor、reuseexecutor、batchexecutor。simpleexecutor执行器:在每执行一次update或select,就开启一个statement对象,用完后就关闭。reuseexecutor执行器:在执行update或select时以sql作为key去查找statement,有就直接使用,没有就创建,使用完毕后不关闭,放入Map<String,Statement>中,供下次使用。重复使用sta
2020-08-04 08:57:05
3866
原创 MyBatis里面的动态Sql是怎么设定的?用什么语法?
mybatis里面的动态sql是通过if节点实现的,通过OGNL语法实现,想要完整实现还需要借助where节点和trim节点,where节点会判断节点是否有内容,没有就不插入。trim节点会判断是否已and或or开头,是就去掉and或or。...
2020-08-03 22:53:38
864
原创 Mybatis映射文件中,如果A标签通过include引用了B标签的内容,请问,B标签能否定义在A标签的后面,还是说必须定义在A标签的前面?
虽然说mybatis解析xml文件时按顺序解析,但是b标签的位置可以在任何地方。原理:mybatis解析a标签时,发现引用了b标签,未解析到b标签,此时会把a标签标记为未解析状态,继续解析下面内容,把剩下解析完之后,再解析标记为未解析的标签,此时已解析到b标签,a标签也就顺利解析完成。...
2020-08-03 22:42:10
703
原创 Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?
1.通过resultMap标签,将列名与对象属性名之间一一对应。2.通过sql的列别名功能,使列别名与对象属性名之间对应,比如:T—NAME AS name,列别名通常不区分大小写,属性名通常小写,mybatis通常会忽略大小写智能的对应。...
2020-08-03 22:28:00
1430
原创 Mybatis能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别?
1.mybatis不仅支持一对一查询,一对多查询,还支持多对一查询和多对多查询。多对一查询就是一对一查询,只需将select on()改为select list()即可。多对多查询就是一对多查询,只需将select on()修改为select list()。2.关联查询有两种实现方式:1.需要单独发送一个查询关联对象的sql语句,赋值给主对象,返回主对象。2.使用嵌套查询,使用join关联查询,一部分列是a对象的属性值,另一部分列是b对象的属性值,好处是只需发送一次sql语句就可查询。...
2020-08-03 22:17:18
2281
1
原创 mybatis是否支持延迟加载,如果支持他的实现原理是什么?
1.mybatis仅支持关联对象association和关联集合对象collection的延迟加载,association是一对一,collection指的是一对多查询,在mybatis配置文件中可以配置lazyloadingEnable=true/false.2.原理:使用CGLIB为目标对象建立代理对象,当调用目标对象的方法时进入拦截器方法。比如调用a.getb().getName(),拦截器方法invoke()发现a.getb()为null值,会单独发送事先保存好的查询关联b对象的sql语句,把b查
2020-08-03 08:49:00
2565
原创 JVM虚拟机面试
1.市场主流JVM 分析1).HotSpot VM (Sun 公司研发,后在 2010 年由 Oracle 公司收购)说明:HotSpot 目前是应用最官方,最主要的一款 JVM 虚拟机2.JVM 体系结构JVM (Java Hotspot Architecture:主要分为三大部分:1)类加载系统 (ClassLoader System) :负责加载类到内存2)运行时数据区 (Runtime Data Area):负责存储数据信息3)执行引擎 (Execution Engine):负责调
2020-08-01 18:27:06
206
1
原创 CGB2004第四阶段day03总结
#ajaxyunyong<script type="text/javascript"> //让页面加载完成之后执行 $(function() { //1.$.get 2.$.post 3.$.getJSON 只能获取json串 4.$.ajax 万能用法 //1.语法 url地址, data参数 , 回调函数 返回值类型 //type类型:xml, html, script, json, text, _default 会自己解析返回值。 //jQuery.
2020-08-01 17:45:21
292
原创 CGB2004第四阶段day02总结
#springBoot属性赋值方式##1.直接写死在代码中,耦合性较高##2.通过@Value赋值1)YML编写格式2)编辑JDBCController实现属性赋值##3.批量为属性赋值1)添加jar包2)编辑JdbcController2##4.指定配置文件为属性赋值1)编辑pro文件2)编辑实体类,动态赋值#多环境切换问题#lombok面试问题#mybatis配置问题#mybatis-Plus#mp练习package com.jt.demo.te
2020-08-01 17:06:38
265
原创 CGB2004第四阶段day01总结
#通过命令导入数据库#表结构读取一对一一对多多对多#JDK环境变量配置JDK效验#Spring项目如何做到开箱即用#项目发布路径
2020-08-01 15:47:47
523
原创 CGB2004第四阶段day04总结
#项目打包/发布##在父集工程中JT中:##打包结果成功如图:##项目发布复制包到任意位置后,打开dos窗口,输入:#F12工具说明:#restFul形式说明:#关于JSON串的说明1.Object格式2.Array格式:3.组合用法:#利用MP进行分页查询2.编制拦截器...
2020-08-01 15:06:45
429
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人