Skip to content

Latest commit

 

History

History
31 lines (18 loc) · 1.54 KB

MyBatis.md

File metadata and controls

31 lines (18 loc) · 1.54 KB

MyBatis


一、什么是MyBatis

  • MyBatis是一款优秀的持久层框架,一个半ORM(对象关系映射)框架,它支持定制SQL,它内部封装了JDBC,开发时只需要关注SQL语句本身。直接编写原生态SQL,可以严格控制sql执行性能,灵活度高。

二、ORM是什么

  • ORM对象关系映射,是一种为了解决关系型数据库数据简单Java对象(POJO)的映射关系的技术。
  • 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系型数据库中。

三、MybatisHibernate的区别

  • Hibernate属于全自动ORM映射工具,使用Hibernate查询关联对象或者关联集合对象时,可以根据对象关系模型直接获取,所以它是全自动的。
  • Mybatis在查询关联对象或关联集合对象时,需要手动编写sql来完成,所以,称之为半自动ORM映射工具。

四、传统JDBC开发存在的问题,MyBatis是如何解决的

  • 传统JDBC开发存在的问题
    • 频繁创建数据库连接对象、释放,容易造成系统资源浪费,影响系统性能。
    • 可以使用连接池解决这个问题。但是使用jdbc需要自己实现连接池。
    • sql语句定义、参数设置、结果集处理存在硬编码。实际项目中sql语句变化的可能性较大,一旦发生变化,需要修改java代码,系统需要重新编译,重新发布。不好维护。