首页 > 数据库 >mybatis-plus配置自定义sqlInjector(使用InsertBatchSomeColumn),出现Invalid bound statement (not found)

mybatis-plus配置自定义sqlInjector(使用InsertBatchSomeColumn),出现Invalid bound statement (not found)

时间:2024-08-22 10:54:42浏览次数:9  
标签:InsertBatchSomeColumn sqlSessionFactory 自定义 bound mybatis new public

项目一开始未引入mybatis-plus,使用的是mybatis,配置文件为xml,有一个配置类中配置了SqlSessionFactory的相关内容。

引入mybatis-plus后,想使用InsertBatchSomeColumn遇到Invalid bound statement (not found),多处配置发现没有效果并依旧报错,最终在刚才的配置类中的SqlSessionFactory代码部分加入以下代码成功解决:

    @Bean(name = "anotherSessionFactory")
    public SqlSessionFactory pstoreSessionFactory(@Qualifier("anotherDataSource") DataSource dataSource) throws Exception {
        MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean();
        sqlSessionFactory.setDataSource(dataSource);
        sqlSessionFactory.setConfigLocation(new ClassPathResource(myBatisConfigClassPath));  // xml文件中的配置
        sqlSessionFactory.setFailFast(true);

        // 以下为新增代码
        // 添加mybatis-plus自定义SqlInjector
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setSqlInjector(mySqlInjector());
        sqlSessionFactory.setGlobalConfig(globalConfig);
        // 以上为新增代码

        return sqlSessionFactory.getObject();
    }

 附上其他相关代码:

在配置类中注入自定义sqlInjector类

@Bean
public MySqlInjector mySqlInjector() {
    return new MySqlInjector();
}
自定义类使用InsertBatchSomeColumn
public class MySqlInjector extends DefaultSqlInjector {
    @Override
    public List<AbstractMethod> getMethodList(Class<?> mapperClass, TableInfo tableInfo) {
        List<AbstractMethod> methodList = super.getMethodList(mapperClass, tableInfo);
        methodList.add(new InsertBatchSomeColumn());
        return methodList;
    }
}

标签:InsertBatchSomeColumn,sqlSessionFactory,自定义,bound,mybatis,new,public
From: https://blog.csdn.net/m0_64923191/article/details/141391108

相关文章

  • 高效流程办公,相信自定义流程表单开发
    如果要将企业内部的数据做好高效管理,需要借助更优质的软件平台。低代码技术平台够灵活、更高效、易维护、可视化操作等,可以满足日益扩大的业务需求,助力企业做好数据资源管理,共同为实现流程化办公和数字化转型贡献更理想的技术平台解决方案。对于自定义流程表单开发的优势特点,可以......
  • lower_boundv & upper_bound 用法
    需要数组a排序从小到大lower_bound(a+1,a+n+1,x);//返回数组a[]的1号位置到n号位置中第一个大于等于x(>=x)的值的编号upper_bound(a+1,a+n+1,x);//返回数组a[]的1号位置到n号位置中第一个大于x(>x)的值的编号需要数组a排序从大到小lower_bound(a+1,a+n+1,x,greater());//返回......
  • nginx源码编译自定义版本号
    1.下载1.20.2源码包[root@localhostservice]#cd/data/build/nginx-1.20.2/[[email protected]]#lsautoCHANGESCHANGES.ruconfconfigurecontribhtmlLICENSEMakefilemanobjsREADMEsrc2.在nginx源码包中编辑此文件src/core/nginx.h修......
  • 使用jakarta.validation自定义校验规则
    jakarta.validation是一套数据校验的规范,内置了NotBlank,NotNull,Min,Pattern等校验注解外,还提供了自定义注解进行任意校验规则的扩展。依赖包为:<dependency><groupId>jakarta.validation</groupId><artifactId>jakarta.validation-api</a......
  • Chainlit接入FastGpt接口快速实现自定义用户聊天界面
    前言由于fastgpt只提供了一个分享用的网页应用,网页访问地址没法自定义,虽然可以接入NextWeb/ChatGPTweb等开源应用。但是如果我们想直接给客户应用,还需要客户去设置配置,里面还有很多我们不想展示给客户的东西怎么办?于是,我使用Chainlit实现了一个无缝快速接入fastgpt实现自......
  • Operators和 自定义控制器(Custom Controllers)的区别
    在Kubernetes中,Operators和自定义控制器(CustomControllers)都是用于扩展Kubernetes的功能和管理自定义资源的工具。虽然它们有很多相似之处,但它们的用途和设计目标有一些重要的区别。自定义控制器(CustomControllers)自定义控制器是Kubernetes的控制器模式的一部分,用于管......
  • 自定义 MySQL Shell 提示符
    MySQLShell中的提示符的样式和格式可以根据使用者的需求进行定制。我们可以配置提示符以显示有关数据库连接和使用的模式的不同或简化信息。本文将展示如何添加视觉提示,让您知道何时连接到生产数据库。设置步骤既然您正在阅读关于自定义MySQLShell的内容,您应该已经安装了它......
  • X-anylabeling如何手动加载(自定义)模型 : 以Segment Anything 为例
    提示:文章目录前言1手动下载模型至软件默认读取路径2加载自定义模型假设你已有模型(.pth),如何进行导出安装导出工具导出你的模型,在标注软件中加载模型打开软件,加载‘自定义’模型。并选择上面提到的配置文件X-anylabeling源码安装过程中遇到的问题GPU环境问题opencv......
  • Windows 上使用 PowerShell 设置防火墙规则和端口转发; Windows 上配置端口转发,将 3389
    在PowerShell中配置Windows防火墙的端口转发涉及几个步骤。首先,你需要确保你有足够的权限来进行这些操作(通常需要管理员权限)。以下是如何在PowerShell中配置端口转发的示例步骤:1. 打开PowerShell以管理员身份运行PowerShell。你可以右键点击PowerShell图标,选择“以管......
  • QTabWidget自定义样式(仿DotNetBar)
    QSS如下,若需要tab栏背景色需要添加ui->tabWidget->setAttribute(Qt::WA_StyledBackground);语句使background-color生效,这个时候qtdesigner中仍然看不到背景色,但是不要担心它是生效的,只需在属性中勾上autofillbackground即可在designer中预览(该属性在QWidget属性组中,实际上勾不勾......