mybatis面试总结(1)——介绍mybatis
来源:互联网 发布:自学python看什么书 编辑:程序博客网 时间:2024/06/06 04:38
如果面试官直接让我介绍mybatis,我将从以下几个方面去介绍这个框架:
1.mybatis是什么?
mybatis是一个优秀的持久层框架,他对jdbc操作数据库的过程进行了封装,使开发着只用关注sql本身,不用去关注例如注册驱动,加载链接,得到statement,处理结果集等复杂的过程。
mybatis通过xml或者注解的方式,将要执行的各种sql语句配置起来,并通过Java对象和statement中的sql语句映射生成最终的sql语句,最后由mybatis框架执行sql语句,并将结果映射成Java对象返回。
2.工作原理
mybatis通过配置文件创建sqlsessionFactory,sqlsessionFactory根据配置文件,配置文件来源于两个方面:一个是xml,一个是Java中的注解,获取sqlSession。SQLSession包含了执行sql语句的所有方法,可以通过SQLSession直接运行映射的sql语句,完成对数据的增删改查和事物的提交工作,用完之后关闭SQLSession。
3.工作的流程
mapper接口:
接口的全类名是xml文件中namespace的值。
- 接口中的方法名是xml文件中mapperstatement的id值。
- 接口中方法的参数就是传递给sql的参数
- mapper接口是没有实现类的,当调用一个方法时,接口的全类名定位一个配置文件,接口的方法名定位这个配置文件中的一个mapperStatment,所以说mapper的方法名是不能重载的,因为mapperStatment的保存和寻找策略。
- mapper接口的工作原理是,mybatis会使用jdk动态代理方式为mapper接口创建proxy对象,代理对象会拦截接口中的方法,转而执行mapperStatment所代表的sql语句,然后将执行的结果封装返回。
4.mybatis解决的问题
- 1.使用数据库连接池管理链接,避免了频繁创建了、关闭链接,浪费资源,影响性能的问题。
- 2.用xml管理sql语句,让Java代码和sql语句分离,使得代码更易维护。
- 3.解决了sql语句参数不定的问题。xml中可以通过where条件决定sql语句的条件参数。mybatis将Java对象映射到sql语句,通过statement的parameterType定义输入参数的类型。
- 4.mybatis自动将结果集封装成Java对象, 通过statement的resultType定义输出的类型。避免了因sql变化,对结果集处理麻烦的问题。
阅读全文
1 0
- mybatis面试总结(1)——介绍mybatis
- MyBatis学习总结(1)——MyBatis快速入门
- MyBatis 学习总结(一)——MyBatis 简单介绍及快速入门
- mybatis配置的简单介绍(面试)
- mybatis学习总结(—)
- MyBatis学习笔记(一)——MyBatis介绍
- Mybatis总结(1)
- mybatis总结(1)
- mybatis总结(1)
- MyBatis学习总结(7)——Mybatis缓存
- MyBatis学习总结(20)——MyBatis完全使用指南
- Mybatis快速入门——Mybatis学习总结(一)
- MyBatis学习总结——Mybatis缓存
- Mybatis学习总结(一) 介绍
- java面试总结-3 mybatis
- Mybatis总结(1)---基本知识
- MyBatis学习笔记七——MyBatis缓存介绍
- MyBatis框架的学习(一)——MyBatis介绍
- Docker 的集群使用
- 滚动字幕
- python2.7.9安装爬虫框架Scrapy的问题
- adb不是内部或外部命令,也不是可运行的程序或批量文件“
- 十一、Google Protobuf 编解码
- mybatis面试总结(1)——介绍mybatis
- LeetCode--51. N-Queens
- 关于sdCard 路径
-  |"|&|<|>等html字符转义
- VC++获取本机所有IP和掩码信息
- C#设计模式总结
- UVA
- 为ROS navigation功能包添加自定义的全局路径规划器(Global Path Planner)
- 实例的生命周期