spring MyBatis的相关面试题
(相关面试题! 供参考!)
1.ORM框架有哪些?
MyBatis:半自动化框架(不是纯ORM) 需要写动态SQL语句,实体类和SQL语句之间建立映射关系
Spring:轻量级框架, Java EE的春天,当前主流框架(低耦合 高内聚)
解释ORM : (Object Relational Mapping):表示对象 关系 映射:
- 编写程序的时候,以面向对象的方式处理数据
- 保存数据的时候,以关系型数据库的方式存储
2. MyBatis和Spring的优点 分别是什么?
MyBatis:SQL语句封装在配置文件中,便于统一管理和维护,降低程序的耦合度
了解底层封装过程
方便程序代码调试
Spring: 低侵入式设计
独立于各种应用服务器
依赖注入特性将组件关系透明化,降低了耦合度
面向切面编程特性允许将通用任务进行集中式处理
与第三方框架的良好整合 粘合剂
! !! Spring也是轻量级框架,站式框架, 可以提供对持久层的支持, 提供Web MVC框架
3. MyBatis的核心对象有哪些?
SqlSessionFactoryBuilder:
1.导入jar包
2.核心配置文件:configuration.xml
3.创建实体类
4.dao层+SQL映射文件-mapper.xml
5.创建测试类:
读取核心文件:mybatis-config.xml
创建SqlSessionFactory对象。读取配置文件
创建SqlSession对象
调用mapper文件进行数据操作
- resultType是直接表示返回类型 ,基本数据和复杂数据类型
- resultmap是对外部resultMap的引用 ,数据库字段信息和实体类对象属性不一致,复杂的联合查询,自由控制映射结果
- 控制反转(Inversion of Control):名词,指代内部转外部,将组件对象的控制权从代码本身转移到外部容器
- 依赖注入(Dependency Injection):操作,在内部拿数据,将组件的构建和使用分开
- 组件化思想:分离关注点,使用接口,不再关注实现
补充!!!
- 轻量级IOC容器:Pico Container、Avalon、Spring、HiveMind等。
- 超重量级IOC容器:EJB。
- 半轻半重IOC容器:JBoss,Jdon等。
面向切面.
- IOC:解 耦 合—实现组件之间的解耦,实现每个组件时只关注组件内部的事情 ,提高程序的灵活性和可维护性
- AOP:专心做事,作用主要是改变了OOP(Object Oriented Programming)面向对象编程的不足。
- 查<select id= “接口中的方法名” resultType="返回值类型/完全限定名" parameterType="传入SQL语句的参数类型/完全限定名"></select>
- 删<delect id= “接口中的方法名” parameterType=“传入SQL语句的参数类型/完全限定名” ></delect>
- 改<update id= “接口中的方法名” parameterType="传入SQL语句的参数类型/完全限定名 “></update>
- 增<insert id= “接口中的方法名” parameterType=“传入SQL语句的参数类型/完全限定名 ”></insert>
!!属性:resultType,parameterType
!!传入SQL语句的参数类型可以是:
- url “发送请求地址”
- type “请求方式”
- data “发送服务器的数据”
- dataType “预期服务器返回的数据类型”
- success “成功调用的”
- error “请求失败调用的”
spring MyBatis的相关面试题的更多相关文章
- struts2 spring mybatis 整合(test)
这几天搭了个spring+struts2+mybatis的架子,练练手,顺便熟悉熟悉struts2. 环境:myEclipse10+tomcat7+jdk1.6(1.8的jre报错,所以换成了1.6) ...
- 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)
手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版) SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式, ...
- spring,mybatis事务管理配置与@Transactional注解使用[转]
spring,mybatis事务管理配置与@Transactional注解使用[转] spring,mybatis事务管理配置与@Transactional注解使用 概述事务管理对于企业应用来说是至关 ...
- Spring学习笔记--spring+mybatis集成
前言: 技术的发展, 真的是日新月异. 作为javaer, 都不约而同地抛弃裸写jdbc代码, 而用各种持久化框架. 从hibernate, Spring的JDBCTemplate, 到ibatis, ...
- spring+mybatis管理多个数据源(非分布式事务)
本文通过一个demo,介绍如何使用spring+mybatis管理多个数据源,注意,本文的事务管理并非之前博文介绍的分布式事务. 这个demo将使用两个事务管理器分别管理两个数据源.对于每一个独立的事 ...
- 使用spring+mybatis+atomikos+tomcat构建分布式事务
本文通过一个demo,介绍如何使用spring+mybatis+atomikos+tomcat构建在一个事务中涉及两个数据源的web应用. demo功能:实现一个能成功提交和回滚的涉及两个数据库数据源 ...
- Spring+MyBatis实践—MyBatis数据库访问
关于spring整合mybatis的工程配置,已经在Spring+MyBatis实践—工程配置中全部详细列出.在此,记录一下几种通过MyBatis访问数据库的方式. 通过sqlSessionTempl ...
- Spring+MyBatis实践—工程配置
初次实践:Spring+MyBatis技术搭建框架,采用Bootstrap前端开源框架. 简介: MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所 ...
- Maven 搭建SpringMvc+Spring+Mybatis详细记录
总觉得,看比人写的总是那么好,每次搭建框架时都会找博客,找教程来跟着一步一步走,虽然很快搭建成功了,但是经常情况是我并不知道我干了什么,也不记得具体步骤,到底为什么要这么做,今天我详细记录了一下自己搭 ...
随机推荐
- IDEA/JRebel实现内部/外部/远程Tomcat热部署Spring Boot
1 概述 所谓热部署,对于Java应用程序来说,就是在运行时更新Java类文件.IDEA可以使用自带的Spring Boot热部署的方式进行本地/远程热部署,或者使用JRebel进行本地/远程热部署, ...
- kubectl create / replace 与kubectl apply 的区别
kubectl create / replace 以ngnix 的 nginx.yaml为例: apiVersion: apps/v1 kind: Deployment metadata: name: ...
- 工厂模式之简单工厂模式,head first设计模式
简单设计模式比较简单,15分钟的时间,跟着我做,十几分钟学会简单设计模式,开始吧: 1.使用new实例化一个对象时,你肯定知道这种代码缺少弹性,绑定着具体的类会导致代码更加脆弱,简单工厂模式就是针对接 ...
- 用Qt(C++)实现如苹果般的亮屏效果
用Qt(C++)实现如苹果般的亮屏效果 苹果的亮屏效果可能有很多人没注意到,和其他大部分手机或电脑不同的是,苹果的亮屏特效不是简单的亮度变化,而是一个渐亮的过程.详细来说就是,图片中较亮的部分先显示出 ...
- 阿里云《nginx服务器配置SSL证书》 配置参数
server { listen 443; server_name demo.shengruijt25.com; ssl on; root html; index index.html index.ht ...
- 【CPU100%排查】CPU100%问题排查方案
1.使用top -c 查看CPU 占用情况 ,按P(大写)可以倒序查看占CPU占用率 2.找到占用率高的进程以后,再定位到具体线程 比如 此时进程ID 14724 CPU占用高,进一步使用top - ...
- SpringCloud之远程调用OpenFeign和Ribbon
Ribbon.Feign和OpenFeign的区别 SpringCloudAlibaba微服务实战教程系列 Spring Cloud 微服务架构学习记录与示例 一 简介 Feign是Netflflix ...
- 缓冲区溢出分析第08课:MS06-040漏洞研究——动态调试
前言 经过上次的分析,我们已经知道了MS06-040漏洞的本质,那么这次我们就通过编程实现漏洞的利用. 编写漏洞利用程序的框架 这里我使用的是VC++6.0进行编写,需要将包含有漏洞的netapi32 ...
- hdu5040 不错的广搜
题意: 给你一个地图,让你从起点走到终点,然后图上有空地,墙,还有摄像头,摄像头有初始方向,每一秒摄像头都会顺时针旋转90度,每个摄像头有自己的观察范围,它所在的点,和当前它面向的那个点, ...
- Python中sys模块的使用
目录 sys模块 sys.argv() sys.exit(0) sys.path sys.modules sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的 ...