Skip to content

Commit d9f1256

Browse files
Shadow-JavaAcgelababy
authored andcommitted
feat: mybatis.md
1 parent 8f6d2ff commit d9f1256

File tree

1 file changed

+35
-1
lines changed
  • languages/java/open-source-framework/persistence-framework/mybatis

1 file changed

+35
-1
lines changed

languages/java/open-source-framework/persistence-framework/mybatis/mybatis.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,41 @@ Java Agent是一种Java技术,用于在程序运行时通过Java Virtual Machi
2222
Java Agent通常以代理方式注入到Java应用程序中,可以在应用程序启动时或在运行过程中对字节码进行修改、增强和监视。通过Java Agent,可以实现一些高级的功能,如性能监控、代码增强、AOP(面向切面编程)等。
2323
Java Agent操作的是字节码层面,能够在应用程序加载类之前或之后对类进行修改,而不仅仅是访问和操作类的结构和状态
2424

25+
反射(Reflection)的记忆:将"反射"与反射镜联系起来。反射镜可以反射光线,让人们能够看到自己的影像。类似地,反射(Reflection)让程序能够看到自身的结构和行为。
26+
内省(Introspection)的记忆:将"内省"与内心联系起来。内省(Introspection)让程序能够观察和了解自身的结构和信息,类似于人们观察和反思自己的内心状态
27+
2528
## mybatis的mapper.xml将查询的结果反射到对应的对象实体里
2629
即定义一个参数对象,然后取到对象的当前属性值插入到对应的sql中
2730

28-
总结mybatis创建的流程
31+
总结mybatis创建的流程
32+
33+
34+
为什么要集成序列化 因为有的数据存在内存 有的数据存在硬盘
35+
36+
37+
38+
**配置文件**:MyBatis 使用 XML 配置文件来定义数据源、映射器(Mapper)和其他相关设置。配置文件中包含了数据库连接信息、SQL 映射语句和全局配置等。
39+
通过配置文件创建对应的数据库信息和映射mapper文件的位置
40+
41+
**数据库连接**:MyBatis 支持多种数据库连接方式,包括基本的 JDBC 连接、连接池等。你可以在配置文件中指定连接信息,以便 MyBatis 建立与数据库的连接。
42+
43+
映射器(Mapper):映射器是 MyBatis 的核心组件,它定义了 SQL 语句和 Java 对象之间的映射关系。映射器文件中包含了 SQL 语句和结果映射配置,用于执行数据库操作和将结果映射到 Java 对象。
44+
创建代理实例,这样就不用生成对应的mapper.xml文件,类似于convertor生成赌对应的方法
45+
46+
SQL 语句:MyBatis 支持使用原生 SQL 语句或使用 #{...} 占位符的动态 SQL 语句。你可以在映射器文件中编写 SQL 语句,通过参数传递和结果映射来执行数据库操作。
47+
48+
参数处理:MyBatis 支持将参数传递给 SQL 语句,可以通过 #{...} 占位符将参数传递给 SQL 语句中的参数位置。参数可以是简单类型、Java 对象或集合类型。
49+
50+
结果映射:MyBatis 提供了多种方式来将查询结果映射到 Java 对象,包括基于列名的映射、嵌套映射、关联映射等。你可以在映射器文件中定义结果映射关系,将查询结果转换为 Java 对象。
51+
52+
动态 SQL:MyBatis 支持动态 SQL,可以根据条件动态生成 SQL 语句。你可以使用 <if>、<choose>、<when>、<otherwise> 等标签来编写动态 SQL。
53+
54+
缓存:MyBatis 提供了一级缓存和二级缓存来提高查询性能。一级缓存是会话级别的缓存,而二级缓存是全局级别的缓存。你可以在配置文件中配置缓存策略和启用缓存功能。
55+
1.一级缓存:即sqlsession级别的缓存,是开启的;可通过sqlsession的close、更新和删除和插入的commit、clearCache方法、映射文件xml配置flushcahche=true
56+
57+
插件(Interceptor):MyBatis 的插件机制允许你在 SQL 执行过程中拦截和修改 SQL 语句、参数和结果。你可以编写自定义插件来实现额外的功能,如日志记录、性能监控等。
58+
59+
1.使用动态代理对mybatis的特定方法进行增强,对特定方法增强,在方法前或者方法后做处理 interceptor.plugin(target);
60+
2.比如redis的插件,支持使用redis的缓存机制对分布式做缓存
61+
62+
事务管理:MyBatis 可以与事务管理器集成,例如使用 JDBC 的事务管理或使用 Spring 框架的声明式事务管理。你可以在配置文件中配置事务管理器,并在需要时使用事务来保证数据的一致性

0 commit comments

Comments
 (0)