1.什么是框架:
软件开发中的解决方案,框架封装了许多细节,使开发者使用极简方式实现功能,提高效率
2.三层架构:
1.表现层:用于展示数据
2.业务层:处理业务需求
3.持久层:和数据库交互
3.持久层技术解决方案
**JDBC技术:**
Connection
PreparedStatement
ResultSet
**Spring的jdbcTemplate:**
Spring中jdbc的简单封装
**Apache的DBUtils:**
它和Spring的JdbcTemlate很像,也是对jdbc的封装。
mybatis整个调用执行过程:
加载配置并初始化:即mybatis主配置文件,mapper配置文件及注解配置。其中将SQL配置的信息加载为一个个MapperStatement对象(传入参数映射配置、执行的SQL语句、结果映射配置)。
接收调用请求:接收到传入的参数和需要执行的SQL的ID,将请求传递给下层的数据处理层进行处理。
处理操作请求:执行器Executor处理接收到接口层传递的SQL的ID和传入参数,根据ID查找对应的MapperStatement,解析MapperStatement对象,得到需要执行的SQL语句并注入传入的参数。获取到数据库连接,将最终的SQL语句到数据库执行,并得到结果。根据MapperStatement对象中的结果映射配置对得到的结果进行转换处理,得到最终的结果。最后释放资源并返回结果到上层。
Mybatis的优点:
1.与JDBC相比,较少了50%的代码量
2.Mybatis是最简单的持久化框架,小巧而又简单易学
3.MyBatis相当灵活,不会对程序或数据库的现有设计强加各种影响,SQL写在xml中,从程序代码中彻底分离,降低耦合度,便于统一管理和优化,并可重用
4.提供xml标签,支持编写动态SQL语句
5.提供映射标签,支持对象和数据库ORM字段关系映射
MyBatis的缺点:
1.SQL语句的编写工作量较大,尤其是字段较多,关联表多时,更是如此,对开发人员的编写SQL语句的功底有一定要求
2.SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库