感谢原文作者,解决请移步
[笔记]使用mybatis,数据库字段名有下划线,使用@Column注解定义别名不生效。_@column失效-CSDN博客
本来是做一个javaweb项目的时候,想要用中文命名表和字段名,记得有注解可以实现把Java实体类中的属性和数据库字段映射起来,看资料是用JPA中的@Column,但是就是没有生效。
找了一些答案说是注解写的位置(必须要在get方法下面)、配置lombok等,都解决不了。
最后找到了这个方法。
用这个根本不要在实体类里写@Colunm注解,虽然在Mapper有点冗长,但是经历了半天的搜索之后能解决就是最好的了。
只要在Mapper的@SQL语句下写
@Select("select * from table1")
@Results(
{@Result(property = "实体类属性1",column = "数据库表字段名1"),
@Result(property = "实体类属性2",column = "数据库表字段名"),
@Result(property = "实体类属性3",column = "数据库表字段名"),
@Result(property = "实体类属性4",column = "数据库表字段名"),
@Result(property = "实体类属性5",column = "数据库表字段名")}
)