栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

踩坑笔记(一):MyBatis查询不到驼峰命名的变量

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

踩坑笔记(一):MyBatis查询不到驼峰命名的变量

问题描述

今天在做测试的时候使用Mybatis查询了一个简单的person表,但是发现带有person_name属性没办法查到。最开始以为是中文问题,但是表中性别也是中文,就能查到,就很奇怪。自己试了半天,发现只要把字段名称改为没有下划线的名称并且实体类对应成员变量名改为全小写的变量名就能查到。

person表:

person表字段
表中数据

 实体类:

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Person implements Serializable {


    @Serial
    private static final long serialVersionUID = 398328312809817705L;

    
    private Integer id;
    
    private String personName;
    
    private String sex;
    
    private Integer age;

}

personMapper.xml (已设置路径别名)


    select *
	from person
	where id=#{id}

Dao方法:

Person selectById(@Param("id") Integer id);

 测试类:

@SpringBootTest
class SiTechSpringbootApplicationTests {

    @Resource
    PersonDao personDao;

    @Test
    void contextLoads() {
        System.out.println(personDao.selectById(100001));
    }

}

 查询结果:

 

解决方法: 其一,在application.yml(.properties)中开启MyBatis的驼峰映射(Springboot项目)
mybatis:
  configuration:
    map-underscore-to-camel-case: true
 其二,在你的MyBatis的配置文件(不是Mapper文件!!!)开启驼峰映射

  
    
  

其三,直接使用MyBatisplus对MyBatis进行扩展!!!(如果可以)

总结

因为Mybatisplus用多了,渐渐地原生MyBatis的注意事项也都忘光光,碰到这个问题也可以借此机会重新复习以下原生MyBatis。

如有大佬发现问题,还请指正,谢谢。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1004199.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号