springboot 项目mybatis plus 设置 jdbcTypeForNull (oracle数据库需配置JdbcType.NULL, 默认是Other)

方法1:

application.yml

mybatis-plus:
  configuration:
    jdbc-type-for-null: 'null' #注意:单引号

方法2:

查看mp-starter-源码, MybatisPlusAutoConfiguration, 可以发现,第119行有一个configurationCustomizers,可以修改configuration

自定义一个,配上就完工

    @Bean
    public ConfigurationCustomizer configurationCustomizer(){
        return new MybatisPlusCustomizers();
    }

    class MybatisPlusCustomizers implements ConfigurationCustomizer {

        @Override
        public void customize(org.apache.ibatis.session.Configuration configuration) {
            configuration.setJdbcTypeForNull(JdbcType.NULL);
        }

方法3:

第一步:把 可更新为空的 javabean 属性前加上注解:@TableField(el = "username, jdbcType=VARCHAR")

@Email
@TableField(el = "email, jdbcType=VARCHAR")
private String email;

 第二步: 使用updateAllColumnById方法,而不是updateById.    如:
 this.baseMapper.updateAllColumnById(user); 
 
posted @   庞国明  阅读(15204)  评论(2编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2017-05-15 Dropwizard框架入门
点击右上角即可分享
微信分享提示