SpringBoot中mybatis配置自动转换驼峰标识没有生效
mybatis提供了一个配置:
#开启驼峰命名转换
mybatis.configuration.map-underscore-to-camel-case=true
使用该配置可以让mybatis自动将SQL中查出来的带下划线的字段,转换为驼峰标志,再去匹配类中的属性。
即:
@Select("select phone_num,card_num from xxx where id=#{id}") public User getUserInfo(String id);
查出来的结果,会被自动转换成phonenum和cardnum,再和结果类(这里就是User )中的属性进行匹配。
更多和自动转换驼峰标志相关的详细源码分析可以参考:传送门
————————————————————分割线—————————————————
下面我们说说我这次碰到的奇怪问题:
在我的项目中,明明在application.properties中将这个属性设为了true,结果运行到上文截图57行代码时始终为false,导致后边无法找到匹配的属性。
经过一番DEBUG分析,发现项目为了做多数据源,将生成
org.apache.ibatis.session.SqlSessionFactory
的配置抽出到使用@Configuration修饰的配置类中。
application.properties配置文件中关于驼峰转换的配置内容没有放进去。这些错误的代码我就不在这贴了,直接上改善后的代码:
经过调整之后变成了以下形式:
将application.properties mybatis的congfig加载到类中,再注入到SqlSessionFactoryBean中,问题解决。
SpringBoot中mybatis配置自动转换驼峰标识没有生效的更多相关文章
- Mybatis配置——自动使用驼峰命名 属性映射字段(默认为false)
开发一个新项目,用的springboot,相关配置不太熟悉,导致一些配置没配,到具体开发时问题就暴露出来了,记录第一个配置问题----Mybatis配置-自动使用驼峰命名 属性(userId)映射字段 ...
- SpringBoot中mybatis的自动生成
1.在pom文件中加入自动生成的插件 <!-- mybatis generator 自动生成代码插件 --> <plugin> <groupId>org.mybat ...
- springboot入门系列(四):SpringBoot和Mybatis配置多数据源连接多个数据库
SpringBoot和Mybatis配置多数据源连接多个数据库 目前业界操作数据库的框架一般是 Mybatis,但在很多业务场景下,我们需要在一个工程里配置多个数据源来实现业务逻辑.在SpringBo ...
- mybatis枚举自动转换(通用转换处理器实现)
https://blog.csdn.net/fighterandknight/article/details/51520595 https://blog.csdn.net/fighterandknig ...
- Springboot中mybatis控制台打印sql语句
Springboot中mybatis控制台打印sql语句 https://www.jianshu.com/p/3cfe5f6e9174 https://www.jianshu.com/go-wild? ...
- Springboot中mybatis执行逻辑源码分析
Springboot中mybatis执行逻辑源码分析 在上一篇springboot整合mybatis源码分析已经讲了我们的Mapper接口,userMapper是通过MapperProxy实现的一个动 ...
- springboot和mybatis 配置多数据源
主数据源(由于代码没有办法复制的原因,下面图片和文字不一致) package com.zhianchen.mysqlremark.toword.config;import com.zaxxer.hik ...
- SpringBoot集成Mybatis配置动态数据源
很多人在项目里边都会用到多个数据源,下面记录一次SpringBoot集成Mybatis配置多数据源的过程. pom.xml <?xml version="1.0" encod ...
- IIS中实现http自动转换到https
IIS中实现http自动转换到https修改以下文件:C:\WINDOWS\Help\iisHelp\common\403-4.htm 为以下内容<!DOCTYPE HTML PUBLIC &q ...
随机推荐
- [转]Nginx+mysql+php-fpm负载均衡配置实例
转 : http://www.jbxue.com/article/7923.html 介绍一个nginx.mysql.php-fpm环境下配置负载均衡的例子,有需要的朋友,可以参考下. 系统环境如下: ...
- Set a Room Mailbox to Show Details of a Meeting in its Calendar – Office 365
You may notice that meetings with a ‘Room’ mailbox will by default only show a “Busy” status. Many, ...
- django外键以及主表和子表的相互查询
Django的外键使用 from django.db import models # Create your models here. class Category(models.Model): na ...
- Netty Associated -- Channel
A nexus to a network socket or a component which is capable of I/O operations such as read, write, c ...
- go语言之进阶篇JSON处理
一.JSON处理 JSON (JavaScript Object Notation)是一种比XML更轻量级的数据交换格式,在易于人们阅读和编写的同时,也易于程序解析和生成.尽管JSON是JavaScr ...
- 很漂亮的Wince开发控件库Beemobile简介【转】
https://blog.csdn.net/xiaoyong_net/article/details/80467653 官网地址:http://beemobile4.net/products/ipac ...
- 一款基于jQuery的图片场景标注提示弹窗特效
今天给大家分享一款基于jQuery的图片场景标注提示弹窗特效,这款实例适合在图片上标注某个物件,单击弹出详情说明,兼容360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之 ...
- python3 CERTIFICATE_VERIFY_FAILED错误 certificate verify failed
在response = request.urlopen(url)打开一个https连接时报如下错误: urllib.error.URLError: <urlopen error [SSL: CE ...
- (文档)流媒体资源 Streaming Assets
Most assets in Unity are combined into the project when it is built. However, it is sometimes useful ...
- Twitter Lite以及大规模的高性能React渐进式网络应用
Twitter Lite以及大规模的高性能React渐进式网络应用 原文:Twitter Lite and High Performance React Progressive Web Apps at ...