不操千曲而后晓声,观千剑而后识器。这篇文章主要讲述通用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`")
比如:
【通用Mapper,出现sql关键字冲突】@Column(name = "`desc`")
private String desc;
这样通用mapper会自动生成插入语句
insert into test_table (id,name,`desc`,password) values (?,?,?,?)
问题解决。。。
推荐阅读
- Android开发 - 获取Android设备的唯一标识码(Android 6.0或更高)
- A New Approach to Line Simplification Based on Image Processing: A Case Study of Water Area Boundari
- .Net Core 2.*+ InfluxDB+Grafana+App Metrics实时性能监控
- Unity界面结构介绍详细解释(图解)
- Unity 2D精灵表用法项目示例图解
- Unity 2D开发介绍和项目示例图解
- Unity组件详细介绍和用法示例图解
- 入门开发(第一个Unity项目介绍和示例)
- Unity安装详细步骤图解实例Unity