(相关面试题! 供参考!)
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 “请求失败调用的”