Java
未读
Mybatis 工作原理
这是一篇 MyBatis概述 的文章,介绍了MyBatis框架的基本概念、工作原理和主要成员。MyBatis是一个用于简化数据库操作的持久层框架,它通过自定义SQL、存储过程和高级映射,帮助程序员专注于SQL编写而无需关注底层JDBC操作。文章详细讲解了MyBatis的核心组件,如Configuration、SqlSession、Executor、StatementHandler等,以及它们在数据库操作中的作用。工作流程上,MyBatis通过配置文件生成SqlSessionFactory,然后通过SqlSession执行SQL语句,进行参数处理和结果集映射,最终返回操作结果。
Java
未读
Mybatis XML标签
这是一篇 MyBatis中XML标签 的文章,介绍了MyBatis中常用的XML标签及其作用。文章首先介绍了<mapper>标签作为MyBatis XML文件的根标签,用于定义命名空间和包含SQL语句。然后,分别讲解了<insert>、<update>、<delete>、<select>等标签的作用,用于执行数据库的增、删、改、查操作。此外,<resultMap>用于映射数据库字段与对象属性,<sql>用于定义可重用的SQL片段,<include>可以引入SQL片段,<if>、<choose>、<when>、<otherwise>用于动态生成SQL,<trim>、<where>、<set>用于处理SQL片段的动态部分。<foreach>支持集合迭代,<cache>和<cache-ref>用于配置缓存,<selectKey>用于获取生成的主键值。
Java
未读
SpringBoot集成Mybatis
这是一篇 Spring Boot与MyBatis集成配置 的文章,介绍了如何在Spring Boot项目中集成MyBatis进行数据库操作。文章首先讲解了在pom.xml文件中添加必要的依赖,包括Spring Boot Starter、MyBatis Starter和MySQL Connector。接着,说明了如何在application.properties中配置数据库连接信息。然后,介绍了如何通过MyMetaObjectHandler实现MyBatis的自动填充功能,处理插入和更新操作的时间字段。接下来,配置了MyBatis的SqlSessionFactory和Mapper接口扫描,创建了Mapper接口用于数据库操作方法的定义。最后,展示了如何在实体类中通过@TableField注解配置自动填充字段,完成整个配置过程以便在Spring Boot项目中使用MyBatis进行数据库操作。
Java
未读
Mybatis 执行器
这是一篇 MyBatis Executor执行器 的文章,介绍了MyBatis中三种基本的Executor执行器。SimpleExecutor每次执行SQL时都会创建并关闭Statement对象;ReuseExecutor通过SQL作为key复用Statement对象,避免每次都创建新的Statement;BatchExecutor则将多个SQL语句批量执行,适用于JDBC批处理操作。文章还提到了一种特殊的Executor——CachingExecutor,它为其他Executor增加了二级缓存功能,通过查询缓存来优化性能,常与Redis等第三方存储结合使用。文章最后指出,Executor的选择应根据SqlSession生命周期和具体的应用场景来决定,特别是ReuseExecutor和BatchExecutor需要手动管理Statement对象。
Java
未读
Mybatis 缓存机制
这是一篇关于MyBatis一级缓存和二级缓存的文章,介绍了两者的工作原理、生命周期和配置方式。MyBatis默认开启一级缓存,一级缓存只在同一个SqlSession对象内有效,查询结果会被缓存并在同一会话内重复使用,直到会话结束或缓存被清空。一级缓存的清空操作包括SqlSession的close()、clearCache()方法调用以及执行update、delete、insert操作。二级缓存是跨SqlSession的应用级缓存,默认不开启,需要在映射文件中配置<cache/>来启用。二级缓存使用LRU算法来回收缓存,存储的数据可以是POJO对象,且要求实现Serializable接口,支持缓存的数据包括查询结果,而insert、update、delete操作会刷新缓存。