码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2018-10-17 15:42:42      阅读:611      评论:0      收藏:0      [点我收藏+]

标签:实体类   通用   实现   冲突   tab   private   保留   jpa注解   自动生成   

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

标签:实体类   通用   实现   冲突   tab   private   保留   jpa注解   自动生成   

原文地址:https://www.cnblogs.com/bibibao/p/9804373.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!