通用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关键字冲突

上一篇:js 难点之call,apply,bind实现


下一篇:Android中的设计模式之观察者模式