通用Mapper,出现sql关键字冲突

Posted bibibao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通用Mapper,出现sql关键字冲突相关的知识,希望对你有一定的参考价值。

通用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 (?,?,?,?)

 

问题解决。。。

以上是关于通用Mapper,出现sql关键字冲突的主要内容,如果未能解决你的问题,请参考以下文章

通用Mapper

通用mapper的增删改查方法 留存 备忘

mybatis通用mapper效率会比写sql低吗

通用Mapper一

通用 mapper

tkMaper通用Mapper详细使用,可以不用你在写sql语句