前情描述:使用tkmybatis作為持久層的框架技術(shù)闪彼,我寫了一個(gè)select * from t_user,user表中有一個(gè)t_username字段肉瓦,自定義了一個(gè)方法User find username(long id)使用@Select(select user from t_user)注解梅忌,在返回的實(shí)例中username是空的嘲玫,也就是說沒有映射上
問題分析:
帶有下劃線的字段進(jìn)行結(jié)果映射時(shí)娇钱,會(huì)自動(dòng)轉(zhuǎn)成小駝峰式的格式伤柄,也就是說t_username會(huì)轉(zhuǎn)成tUsername,從而和實(shí)體類中的變量無法對(duì)應(yīng)上文搂,無法實(shí)現(xiàn)自動(dòng)映射
解決方案:
1.在mybatis中加上如下配置
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--開啟駝峰命名規(guī)則自動(dòng)轉(zhuǎn)換-->
<settings>
????<setting name="mapUnderscoreToCamelCase" value="true"/>
????</settings>
</configuration>
在springboot的配置文件application.yml中
mybatis: typeAliasesPackage: com.example.mybaitsxml.dao.entity
mapperLocations: classpath:mapper/*.xml
configLocation: classpath:/mybatis-config.xml
2.在springboot的配置文件application.yml中
#mybatis配置
mybatis:
? typeAliasesPackage: com.example.mybaitsxml.dao.entity
? mapperLocations: classpath:mapper/*.xml
? configuration:
? ? map-underscore-to-camel-case: true