zoukankan      html  css  js  c++  java
  • 记一笔MyBatis的坑

    记一笔MyBatis的坑

    1、sql查询concat()连接函数xml运行查询乱码

    1 select concat(CONVERT(round(count(case when sq.LOANOVERDUE = 'Y' then 1 else null end) / count(1) * 100, 2), char)'%') bll
    2 FROM fact_dkxx sq

    由于连接的字符串中包含数字与百分比字符串,数据类型不一致,在xml中查询返回会导致数据乱码,在数据库执行sql又没问题

                   

    经过一番查找问题,发现需要将数字使用CONVERT(number,char)函数转换字符类型连接。

    2、MyBatis中 <if test="isfk != null and isfk != ' ' and isfk=='1' ">标签过滤不执行

    在mybatis中执行会过滤掉该if判断,但程序不报错会继续执行

    应:将单个的字符放入双引号里面,外层用单引号    <if test='isfk == "1" '> 

    或者添加toString()方法    <if test="isfk == '1'.toString() "> 

    原因分析:mybatis是用OGNL表达式来解析的,在OGNL的表达式中,’1’会被解析成字符,java是强类型的,char 和 一个string 会导致不等,所以if标签中的sql不会被解析。

  • 相关阅读:
    面向对象中一些容易混淆的概念
    day12作业
    day10作业
    day09作业
    Where与Having的区别
    排序算法之快速排序
    排序算法之冒泡排序
    jQuery中的100个技巧
    用node.js给图片加水印
    代码高亮美化插件-----SyntaxHighlighter
  • 原文地址:https://www.cnblogs.com/tangjiang-code/p/12073531.html
Copyright © 2011-2022 走看看