mybatis resultType="map"时的常见问题

 在配置数据源的配置文件中,配置Mybatis的SqlSessionFactoryBean

一. map的key值 与select的字段顺序的不一致问题

解决方法:resultType="map" 修改为 resultType="java.util.LinkedHashMap"

二.值为null的返回map中没相应的key

解决方法:1.查询字段使用ifnull函数(可空字段较多时,不推荐)

2.修改mybatis配置

springmvc:

创建mybatis-config.xml




     
        
         
    

    
    
    
    
      classpath*:/com/xxx/mapper/*.xml
    
  

springboot: 

配置文件:mybatis.configuration.call-setters-on-nulls=true

注解方式:

import org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer;  
import org.springframework.context.annotation.Bean;  
import org.springframework.context.annotation.Configuration;  
  
/** 
 * mybatis 注解版  
 * 
 */  
@Configuration  
public class MybatisConfig {  
  
    @Bean  
    public ConfigurationCustomizer configurationCustomizer() {  
        return new ConfigurationCustomizer() {  
  
            @Override  
            public void customize(org.apache.ibatis.session.Configuration configuration) {  
                configuration.setMapUnderscoreToCamelCase(true);//设置驼峰命名规则 
                configuration.setCallSettersOnNulls(true);
            }  
        };  
    }  
}  

 

你可能感兴趣的:(数据库,Java)