陕西住房城乡建设网站,最新招聘信息,南宁建站公司模板,网页界面设计一般使用的分辨率在Java应用程序的开发中#xff0c;选择合适的数据库持久层框架至关重要。一个明智的选择可以帮助开发人员更好地管理数据库交互、提高性能和简化开发工作。
#xff08;一#xff09;为什么要选MyBatis
JDBCHibernate / JPAMyBatis简单直接ORM轻量动态SQL关联查询开发效率…在Java应用程序的开发中选择合适的数据库持久层框架至关重要。一个明智的选择可以帮助开发人员更好地管理数据库交互、提高性能和简化开发工作。
一为什么要选MyBatis
JDBCHibernate / JPAMyBatis简单直接ORM轻量动态SQL关联查询开发效率低屏蔽底层数据库差异国内生态重复冗余关联查询、动态SQL不友好不能屏蔽数据库差异
在以前是直接用JDBC进行数据库查询优点是简单直接缺点是开发效率低。用JDBC写程序需要大量手工写代码
代码重复率较高后来逐渐演化出ORM框架。
ORM框架最早期有Hibernate以及JPA规范Hibernate能够屏蔽底层数据库差异自动根据SQL语言生成对应底层不
同数据库的方言缺点是对关联查询支持与动态SQL能力不太友好很难写出高效SQL。
国内目前流行的是轻量级MyBatis对动态SQL以及关联查询的支持性较高缺点是因为它绑定一个DB手写SQL还要
动态拼接很难从一个DB自由的切换到另外一个DB但由于平时很少切换DB因此问题不是很大。
二MyBatis基本概念介绍 MyBatis主要分为三层接口层核心层与基础层。
1.接口层
是通过提供的API作为数据库进行增/删/改/查都是MyBatis的API。
2.核心层
是SQL预处理、SQL执行、结果映射。
1SQL预处理是对代码里的变量进行绑定以及动态SQL生成
2SQL执行是把生成好的SQL通过JDBC驱动传到对应的DB里执行而且要负责网络通信的部分
3结果映射是把数据库返回的结果从关系型数据转换成Java对象数据。
3.基础层
包括日志、事务管理、缓存、连接池、动态代理、配置解析。
1日志是做框架里面的日志输出以及SQL语句输出
2事务管理是对 JDBC事物、数据库事物做管理
3缓存能够把结果集缓存在JVM的内存内部。优点是比较快缺点是会占用堆内存。有条件的情况下建议用户多
使用分布式缓存
4连接池能够加速查询提高性能
5动态代理在用MyBatis编程时核心是通过接口执行数据库查询。而Mapper接口本身是没有实现的通过注解
或者XML配置SQL语句动态代理会在运行时生成代理当调用Mapper接口时转换成实际的SQL语句
解
或者XML配置SQL语句动态代理会在运行时生成代理当调用Mapper接口时转换成实际的SQL语句
6配置解析因为MyBatis里面有存在大量配置需要配置新模块读取XML配置并把它映射为配置属性。
参考https://developer.aliyun.com/ebook/450?spma2c6h.20345107.ebook-index.28.6eb21f54J7SUYc