MyBaitsPlus---Sql 注入器知识点补充,Java从入门到精通

*   [3.对象配置(放入到容器中)](about:blank#3_52)

*   [4.把方法定义到BaseMapper(继承 BaseMapper 进行扩展,添加扩展的方法)](about:blank#4BaseMapper_BaseMapper__62)

*   [5.继承 BaseMapperPlus](about:blank#5_BaseMapperPlus_69)

*   [6.测试](about:blank#6_79)

*   [注意](about:blank#font_colorred_98)

在这里插入图片描述


[](

)Sql 注入器

======================================================================

[](

)概念


就是让你自己写的sql语句和mp的默认sql语句(basemapper中的sql语句)一起启动,就不需要写映射文件了

根据MybatisPlus 的AutoSqlInjector可以自定义各种你想要的sql ,注入到全局中,相当于自定义Mybatisplus 自动注入的方法。

之前需要在xml中进行配置的SQL语句,现在通过扩展AutoSqlInjector 在加载mybatis环境时就注入。

在这里插入图片描述


[](

)步骤

=================================================================

[](

)1.定义SQL(继承AbstractMethod 子类)



public class FullAll extends AbstractMethod {



    @Override

    public MappedStatement injectMappedStatement(Class<?> mapperClass, Class<?> modelClass,

                                                 TableInfo tableInfo) {

        String sqlMethod = "findAll";

        String sql = "select * from " + tableInfo.getTableName();

        SqlSource sqlSource = languageDriver.createSqlSource(configuration, sql, modelClass);

        return this.addSelectMappedStatementForTable(mapperClass, sqlMethod, sqlSource, tableInfo);

    }

} 

[](

)2.注册(SQL 注入)



public class SqlInjector extends DefaultSqlInjector {



    @Override

    public List<AbstractMethod> getMethodList(Class<?> mapperClass) {

        List<AbstractMethod> methodList = super.getMethodList(mapperClass);

      methodList.add(new FullAll());

        return methodList;

    }

} 

[](

)3.对象配置(放入到容器中)



 @Bean

    public SqlInjector sqlInjector() {

        return new SqlInjector();



# 本次面试答案,以及收集到的大厂必问面试题分享:

![字节跳动超高难度三面java程序员面经,大厂的面试都这么变态吗?](https://img-blog.csdnimg.cn/img_convert/8c936ac58ee51e214c00ca47a126b0a3.png)

**[CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】](

urn new SqlInjector();



# 本次面试答案,以及收集到的大厂必问面试题分享:

[外链图片转存中...(img-eg03yIjr-1631176438305)]

**[CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】](

)**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>