关于mybatis面试题,spring springmvc mybatis面试题
首先,冲刺问题
1.弹簧在ssm中的作用是什么?
Spring:轻量级框架
角色:Bean factory用于管理Bean生命周期和框架集成。
两个主要核心:IOC/DI(控制反转/依赖注入):dao依赖注入到服务层,服务层反转到动作层。Spring的顶层容器是BeanFactory。AOP:面向切割编程
2.春天的交易?
编程式事务管理:以编程方式管理事务非常灵活,很难维护。
声明式事务管理—使您能够将业务代码与事务管理分开,并通过注释和xml配置来管理事务。
3.国际奥委会在项目中的角色是什么?
角色:Ioc解决对象之间的依赖关系,通过配置文件或注释关联所有Bean的依赖关系,降低绑定度。
4.春天简介的内容是什么?
打开事务注释驱动程序。
事务管理程序
打开注释功能并设置扫描包。
数据库配置
配置SQL会话工厂、别名和映射文件
不要创建Dao层的实现类。
5.对春天的评论?
注册:@控制器@服务@组件
注入:@自动连线@资源
请求地址:@RequestMapping
返回特定的数据类型而不是跳转:@ResponseBody
6.春荻有三种方式?
构造函数注入:用构造函数初始化。
constructor-arg index= 0 type= Java . lang . string value= BMW /constructor-arg setter方法注入:用setter方法初始化。
attribute= id value= 1111 /属性接口注入
7.Spring主要用什么模式?
工厂模式:每个Bean的创建路径方法
单实例模式:每个默认Bean的范围都是单实例。
代理模式:Aop的实现是通过代理模式的。
8.IOC和AOP的实现原理?
IOC:通过反射机制生成对象注入。
动态代理
二。SpringMvc的面试问题
1.SpringMvc的控制器是单实例模式吗?如果有,是什么问题,如何解决?
问题:单实例模式和多线程访问下有线进程的安全性。
解决方法:不要使用同步。不要在控制器上写字段。
2.SpringMvc中控制器的注释?
@Controller:此评论表示此类充当控制器。
3.@RequestMapping批注对类有什么作用?
角色:用于将URL映射到类或特定的处理方法。
4.前台有多个参数。这些参数都是一个对象。能不能快点拿到对象?
方法:当一个对象直接在方法中声明时,SpringMvc会自动给对象赋属性。
5.SpringMvc函数的返回值?
字符串、模型视图、列表、集合等。
返回常规字符串、Ajax请求和列表集合
6.SpringMvc上的传输和重定向?
传输:返回:“你好”
重定向:“返回:”重定向:hello.jsp“
用体贴的馒头框架直接把java对象转换成JS能识别的jsON对象。具体步骤如下。
贴心的馒头。冲突
在配置文件中配置json映射
你必须直接返回对象,列表等。当接受Ajax方法时,在方法前添加注释@ResponseBody。
8.SpringMvc的工作流程图?
9.Struts2和SpringMvc有什么区别?
入口不同:
2:结构:过滤器
SpringMvc: servlet作为前端控制器
不同的开发方法:
Struts2:基于类开发,通过类的属性传递参数只能设置多个实例。
SpringMvc:基于方法开发(一个方法对应一个url),将请求参数传递给方法参数,方法参数可以是单个实例,也可以是多个实例(推荐单个实例)。
索赔方法不同:
2) Struts2评估乡村学校的请求和响应的数据,并通过OGNL访问数据
SpringMvc:参数解析器解析请求的内容,给方法参数赋值,将数据和视图封装到ModelAndView对象中,最后将ModelAndView中的模型数据填充到请求域中。默认情况下,jsp视图解析器使用jstl。
三。Mybatis面试问题
1.伊巴提斯和米巴提斯?
Ibatis:2010年,apache的IBATIS框架停止更新,移交给google团队。同时更名为MyBatis。Ibatis从2010年开始就没有更新过,完全成了孤儿框架。一个无人问津的相框,注定要被mybatis拍在沙滩上。
Mybatis:Ibatis升级版Ibatis。
2.Mybatis的接口绑定是什么,有什么好处?
Mybatis实现了DAO接口和xml映射文件的绑定,自动为我们生成接口的具体实现,使用起来更加简单方便。
3.什么情况下被标注,什么情况下被xml绑定?
注意用法:当Sql语句简单时
xml绑定的用法:xml绑定(@RequestMap用于绑定xml文件)
4.核心处理类的Mybatis叫什么?
使用
5.查询表名称与返回的实体Bean对象不一致。我该怎么办?
只需映射键值对。
result column= title property= title Java type= Java . lang . string /column:数据库中表的列名。
属性:实体Bean中属性的名称
6.Mybatis有什么好处?
将Sql语句与Java分开。
封装了底层的JDBC和API调用,可以自动将结果集转换成JavaBean对象,简化了Java数据库编程的重复性工作。
自己写Sql语句,更灵活。
参数不需要被对象(或map)封装,使用@Param注释。
7.Mybatis是一对多配置的?
collection= topic comment column= id of type= com . tmf . BBS . POJO . comment select= select comment /property:属性名
列:公共列
OfType:集合中元素的类型。
选择:要连接的查询。
8.Mybatis一对一配置?
association property= topic type select= select type column= topics _ type _ id Java type= com . tmf . BBS . POJO . type /property:属性名
选择:要连接的查询。
列:公共列
JavaType:集合中元素的类型
9.$ {}和# {}的区别?
:简单字符串替换,替换{}:简单字符串,替换:简单字符串,直接用变量的值替换{},不做任何转换。这是为了在取值后编译SQL语句。
# {}:预编译处理,其中sql中的# {}替换为?完成预编译语句,有效防止Sql语句的注入。该值是在编译SQL语句后获得的。
总结:一般情况下,# {}用于替换列。
10.获取最后自动生成的主键值?
Select _ insert _ id () 11。Mybatis如何分页,分页原理?
RowBounds对象分页
使用物理分页直接在Sql中编写
12.Mybatis是如何工作的?
原则:
SqlSessionFactory是通过SqlSessionFactoryBuilder从mybatis-config.xml配置文件生成的。
SqlSessionFactory打开一个SqlSession,通过SqlSession实例获取Mapper对象,并运行由Mapper映射的Sql语句。
完成数据库的CRUD操作和事务提交,关闭SqlSession。
扫描下方二维码,
及时
更多技术如互联网求职面经
、java
、python
、爬虫
、大数据
、海量资料分享
:微信官方账号* *菜鸟企业梦想