MyBatis学习总结
文章平均质量分 67
Alexon Xu
working、thinking、learning、sharing
展开
-
MyBatis的Mapper接口自动注册原理
MapperScan注解提供了一种使用Java配置的方式来注入mapper接口,功能与在xml文件中通过MapperScannerRegistrar配置MapperScannerConfigurer是一样的,因为这个注解使用了@Import注解导入了MapperScannerRegistrar。如上所示的Mybatis的mapper接口,在定义之后,可以直接在service实现类中使用,那么这些Mapper是如何被加载的呢?整个Mapper的加载过程可以归纳为。注册Mapper接口。原创 2022-10-17 15:51:21 · 1984 阅读 · 0 评论 -
集成Mybatis-Plus
集成Mybatis-Plus引入依赖 <!-- mybatis-plus依赖 --><dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.1</version></dependency> <!-- a原创 2022-03-07 19:15:11 · 910 阅读 · 0 评论 -
MyBatis查询结果处理
1 处理核心流程PreparedStatement的查询结果需要进行映射public <E> List<E> query(Statement statement, ResultHandler resultHandler) throws SQLException { PreparedStatement ps = (PreparedStatement) statement; // 装换preparedStatement ps.execute(); // 执行SQL ret原创 2021-12-28 18:09:30 · 1224 阅读 · 0 评论 -
MyBatis自动配置原理
在springboot中,mybatis引用的jar包 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version></dependency>mybatis的配置一般放在a原创 2021-12-28 18:02:00 · 1475 阅读 · 0 评论 -
MyBatis的SQL执行原理
以下SQL的执行为例,描述mybatis的SQL执行过程 public DataResponse<Object> findMemberPageListExt(Member member, PageVo pageVo) { DataResponse<Object> response = new DataResponse<>(); logger.info("MemberServiceImpl.findMemberPageListExt inp原创 2021-12-28 11:00:48 · 1312 阅读 · 0 评论 -
Mybatis基础
1、MyBatis出现的原因Mybatis的出现时为了弥补bibernate全表映射所带来的效率低下的问题。它是一个半自动映射的框架,需要手工匹配提供POJO、SQL和映射关系。MyBatis所需要提供的映射文件为:SQL映射规则POJO2、MyBatis基本的概念SqlSessionFactoryBuilder(SQL会话工厂构造器):根据配置新或者代码生成SqlSessio...原创 2019-05-27 00:12:01 · 178 阅读 · 1 评论 -
Mybatis的配置
1、ObjectFactory在MyBatis构建一个结果返回时,会使用ObjectFactory去构建POJO,也可以定制自己的ObjectFactory.<objectFactory type="com.hhh.demo.objectFactory.MyObjectFactory"> <property name="name" value="MyObjectFactor...原创 2019-05-27 22:21:46 · 209 阅读 · 1 评论 -
MyBatis映射器
MyBatis通过映射器配置可以生成对应的JavaBean返回给调用者。映射器中可以定义select、insert、update、delete、sql、parameterMap、resultMap、cache、cache-ref等。1、select定义Dao接口public int countFirstName(String firstName);匹配xml文件<sel...原创 2019-05-27 23:49:56 · 205 阅读 · 1 评论 -
MyBatis的动态SQL
MyBatis的动态SQL主要有if、choose(when、otherwise)、trim(where、set)、foreach.1、if的用法<select id="findRoles" parameterType="string" resultType="roleResultMap"> select role_num,role_name,role_note from rol...原创 2019-05-28 22:52:21 · 228 阅读 · 1 评论