MyBatis-Plus的sql注入器

一:创建sql注入方法类,这个类需要继承AbstractMethod类,重写里面的injectMappedStatement方法。在这个方法中,完成四个步骤:

1.定义sql语句

2.定义方法名

3.构建sqlSource,它将负责将Sql传递到数据库

4.构建方法

例:

//自定义sql语句类
public class DeleteAll extends AbstractMethod {
    @Override
    public MappedStatement injectMappedStatement(Class<?> mapperClass, Class<?> modelClass, TableInfo tableInfo) {
        //1.定义一个sql语句
        String sql = "delete from "+tableInfo.getTableName();
        //2.方法名
        String method="deleteAll";
        //3.构建SqlSource,它负责将Sql传递到数据库
        SqlSource sqlSource = this.languageDriver.createSqlSource(this.configuration, sql, modelClass);
        //4.构建删除方法
        return this.addDeleteMappedStatement(mapperClass,method,sqlSource);
    }
}
二:创建Sql自动注入器,继承AbstractSqlInjector

注入自定义方法的集合,可以注入很多个方法

例:

@Component
public class MySqlInject extends AbstractSqlInjector {
    //注入自定义方法集合
    @Override
    public List<AbstractMethod> getMethodList(Class<?> mapperClass, TableInfo tableInfo) {
        List<AbstractMethod> methods =new ArrayList<>();
        methods.add(new DeleteAll());
        return methods;
    }
}
三:在mapper接口中定义这个方法

这个方法只能由mapper调用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值