MyBatis笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

MyBatis Generator

Example类使用

MyBatis Generator 生成的 Example 类是为了支持动态 SQL 查询而设计的。这个类提供了一种在运行时构建 SQL 查询条件的方式,使得可以根据不同的条件生成不同的查询语句。

UserExample example = new UserExample();
UserExample.Criteria criteria = example.createCriteria();

// 添加查询条件
criteria.andUsernameEqualTo("john");
criteria.andAgeGreaterThan(25);

// 构建查询语句
List<User> userList = userDao.selectByExample(example);

PageHelper

基本使用

PageHelper.startPage(page, pageSize, false);
List<LedgerPo> poList = ledgerPoMapper.selectByExample(example);
return poList.stream().map(po -> getBo(po)).collect(Collectors.toList());

实现原理

PageHelper实现了MyBatis的Interceptor接口,这是MyBatis插件的基础。Interceptor接口定义了在MyBatis执行过程中可以拦截的方法,包括了在执行SQL语句前后的拦截点。

Interceptor——责任链模式+动态代理

在这里插入图片描述Mybatis中可以被拦截的类型具体有以下四种:

1.Executor:拦截执行器的方法。
2.ParameterHandler:拦截参数的处理。
3.ResultHandler:拦截结果集的处理。
4.StatementHandler:拦截Sql语法构建的处理。

自定义Interceptor

1.实现自定义Interceptor:

2.在MyBatis的XML配置文件中配置使用你的Interceptor。在标签内添加如下配置:

<plugins>
    <plugin interceptor="com.example.CustomInterceptor">
        <!-- You can add properties here if your interceptor requires them -->
    </plugin>
</plugins>

3.在Java代码中使用MyBatis时,自定义Interceptor会自动被应用于配置的拦截点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值