通用mapper的使用,减少了大量操作,提高了工作效率,在使用通用mapper 时,mysql表里有和sql保留关键字相同的字段
在定义实体类时,通过定义驼峰命名的属性名,实现自动映射,可是在入库操作过程中报出sql语法错误,如:
into test_table (id,name,desc,password) values (?,?,?,?)
这样的语句里面还有sql关键字desc,一般出现这种情况,我们通常会在desc上加上 ``(转移符,位置在tab键上方)就可以了,如:
insert into test_table (id,name,`desc`,password) values (?,?,?,?)
对于这样的关键字冲突这样处理就没有问题了。。。
可是我们用的是通用mapper,基本的CURD语句都不用手写,那如果在用通用mapper的时候出现关键字冲突的话,该怎么办呢?
只需在该表对应实体类中的desc属性上加上JPA注解@Column(name = "`desc`")
比如:
@Column(name = "`desc`")
private String desc;
这样通用mapper会自动生成插入语句
insert into test_table (id,name,`desc`,password) values (?,?,?,?)
问题解决。。。