mybatis中字段名与关键字相同问题

目录
  • mybatis中字段名与关键字相同
  • mybatis关键字于字段名冲突
    • 解决方案
  • 总结

mybatis中字段名与关键字相同

在字段上添加反双引号,就是~键;

如图:

mybatis关键字于字段名冲突

SHR在我们表里是审核人,但在mybatis字段是表示>>的意思,产生冲突

报错信息:

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'shr != null'. Cause: org.apache.ibatis.ognl.ExpressionSyntaxException: Malformed OGNL expression: shr != null [org.apache.ibatis.ognl.ParseException: Encountered " "shr" "shr "" at line 1, column 1.
Was expecting one of:

解决方案

修改shr属性名,添加@TableField注解

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • mybatis中使用oracle关键字出错的解决方法

    发现问题 最近发现在mybatis中如果使用的字段是Oracle的关键字,会出现错误,通过查找相关的资料终于解决了,下面来一起看看详细的解决方法: 解决方式 可以使用resultMap** 示例代码 <!-- 预约日历用 --> <resultMap id="FullDateResultMap" type="com.haier.hrssc.reserveschedual.dto.FullcalendaDTO"> <id property

  • 在Mybatis @Select注解中实现拼写动态sql

    现在随着mybatis plus的应用,越来越多的弱化了SQL语句,对于单表操作可以说几乎不需要进行自己编写SQL语句了,但对于多表查询操作目前mybatis plus还没有很好的支持,还需要自己编写SQL语句,如: import java.util.List; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.anno

  • MybatisPlus:使用SQL保留字(关键字)的操作

    MySQL8将over作为了保留字,此时操作这个字段应当加 ``,在MybatispPlus中的做法为使用@TableField注解: 同样的,如果表名是关键字,则使用@TableName注解 @TableName("`over`") public class over extends BaseEntity { } 补充知识:mybatis-plus sql报错 字段与Mysql关键字重名 字段中包含describe字段,通过mybatis-plus插入数据一直报错,经排查,原来是与M

  • mybatis中字段名与关键字相同问题

    目录 mybatis中字段名与关键字相同 mybatis关键字于字段名冲突 解决方案 总结 mybatis中字段名与关键字相同 在字段上添加反双引号,就是~键: 如图: mybatis关键字于字段名冲突 SHR在我们表里是审核人,但在mybatis字段是表示>>的意思,产生冲突 报错信息: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderExcepti

  • 详解mybatis-plus实体类中字段和数据库中字段名不对应解决办法

    在使用mybatis或者mybatis-plus时候,有些时候会出现数据库的字段名和实体类的字段名不一致的情况,如果运行那么这个字段就会无法进行自动映射而报错.这里就以我的数据库name字段名和这里的实体类的u_name字段名为例. 解决办法有以下三种 方法一: 将数据库中的字段和实体类中的字段名修改成一样的名字 方法二: 如果是自定以mapper.xml文件中手写的sql查询语句,可以给字段起一个别名例如这里就可以写成select name as u_name from- 方法三: 使用注解@

  • Oracle如何批量将表中字段名全转换为大写(利用简单存储过程)

    前言 今天查询一个数据字段一直提示字符无效,明明在数据库表字段中是存在的: 查询后得知,数据库表字段为小写时,查询需要将字段名小写并加上双引号: 表名同理,我这里表名是大写,暂时不需要改. 搜到一个批量修改字段名为大写的存储过程,如下: 登陆到要修改的用户下, 执行: begin for cl in (SELECT table_name,column_name from user_tab_columns WHERE column_name<>upper(column_name) and upp

  • MySQL中字段名和保留字冲突的解决办法

    我们知道通常的SQL查询语句是这么写的: 复制代码 代码如下: select col from table; 这当然没问题,但如果字段名是"from"呢? 复制代码 代码如下: select from from table; 若真的这么写,必然出错,当字段名与MySQL保留字冲突时,可以用字符"`"将字段名括起来: 复制代码 代码如下: select `from` from table; 总结 刚发现我原先设计的数据库表里有两个字段都用了保留字(add,commen

  • Sql查询MySql数据库中的表名和描述表中字段(列)信息

    下面为大家介绍利用SQL查询语句获取Mysql数据库中表的表名,表描述.字段ID.字段名.数据类型.长度.精度.是否可以为null.默认值.是否自增.是否是主键.列描述 一.查询表信息(表名/表描述) SELECT table_name name,TABLE_COMMENT value FROM INFORMATION_SCHEMA.TABLES WHERE table_type='base table' and table_schema = '数据库名' order by table_name

  • Mybatis中注解@MapKey的使用详解

    mybatis的原身是ibatis,现在已经脱离了apache基金会,新官网是http://www.mybatis.org/. 在研究Mybatis源码之前并不知道这个注解的妙用的,但是当我看到参数解析的时候 有这个一个注解,所以我了解了一下,当我们返回像Map<String, Map<String, Object>>这种类型的时候,我们往往很难做到,因为这里面可能是多个表的数据,所以我们不可能再建一个模型. 这时候我们就可以使用这个注解了 @Retention(Retention

  • mybatis中映射文件(mapper)中的使用规则

    目录 一.增删改 1.增加 2.删除 3.更新 二.传入参数处理 1.单个参数 2.多个参数 3.参数中有Collection(List.Set) 类型或者是数组 4.参数封装成数据模型 5.parameterType 配置 参数 三.查询 1.模糊查询 2.#{}与${}的区别 3.返回属性为resultType 4.返回属性为resultMap 一.增删改 1.增加 <!-- 添加用户--> <insert id="saveUser" parameterType=

  • Mybatis中ResultMap解决属性名和数据库字段名不一致问题

    目录 前言 1. 字段名不一致 解决方法: 第一种方式: 起别名 第二种方式: 结果集映射 resultMap 2. 多对一处理 3. 一对多处理 小结 前言 我们Pojo类的属性名和数据库中的字段名不一致的现象时有发生,简单的情况我们可以开启驼峰命名法解决大小写问题,但是遇到其它非大小写问题,我们就不得不使用Mybatis中的结果集映射resultMap. 1. 字段名不一致 数据库中的字段 我们项目中实体类的字段 public class User { private int id; pri

  • mybatis中实现让返回值与bean中字段相匹配

    1. 编写目的 这个介绍的与那些修改mybatis.xml文件的方法不一样,目的也不一样. 当我们需要查询的数据跟entity的bean完全不匹配的时候(比如说需要统计的时候),我们不可能写多个dao层的查询接口,然后一个一个map到xml中去. 我们可以专门写一个类,根据自己的需要把统计的属性都写到里面去,然后一次性查询,就可以获得所有需要统计的数据. 2. 重要方法 专门编写一个实体类.实体类中包含的都是自己需要统计的属性. 编写dao层的接口方法的返回值就是这个实体类. 在映射的map.x

随机推荐