<,>引起的mybatis异常:元素内容必须由格式正确的字符数据或标记组成

错误示例:

  select
    id,
   channel,
    if(txntime='', createtime, STR_TO_DATE(txntime, '%Y%m%d%H%i%s')) onDate,
    feeType,
    amount bizAmount,
    ROUND((case platform when '8' then if(amount*0.002<1,1,amount*0.002) when '6' then amount*0.003 else amount*0.003 end),2)  fee,
    't_union_order' refType,
    id refValue,
    '' memo,
    isDeprecated,
    createTime,
    lastUpdateTime
    from t_order

错误原因:mybatis查询的时候,需要用到运算符 小于号:< 和 大于号: >,在mybatis配置文件里面,这种会被认为是标签,所以解析错误.

解决方法,用<![CDATA[ ]]>将有<,>的代码包起来。
如下:

select
    id,
   channel,
    if(txntime='', createtime, STR_TO_DATE(txntime, '%Y%m%d%H%i%s')) onDate,
    '用户还款' feeType,
    amount bizAmount,
    <![CDATA[ROUND((case platform when '8' then if(amount*0.002<1,1,amount*0.002) when '6' then amount*0.003 else amount*0.003 end),2)]]> fee,
    't_union_order' refType,
    id refValue,
    '' memo,
    isDeprecated,
    createTime,
    lastUpdateTime
    from t_order
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • sql语句,在navicat中运行没问题,但到了工程中mybatis给报错: sql语句: 经查明并不是那行的格式...
    syncwt阅读 10,974评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,933评论 18 139
  • 前言 本篇将完成DAO层的设计与开发,包括: 数据库、DAO实体与接口设计与编码 基于MyBatis实现DAO编程...
    MOVE1925阅读 1,383评论 0 4
  • 基本上每个创作的人都会遇到这么一个瓶颈时期:当灵感消失的时候,当才华“用尽”的时候,写着写着就不知道要写些什么了,...
    北海的北边阅读 349评论 4 3
  • 我亲爱的孩子 或许你今夜就要降临 这将是一个特殊的夜晚 你是那恬淡如水的月光 流淌在他们的怀中、梦中和生命里 你是...
    书叶随风阅读 153评论 0 1