zoukankan      html  css  js  c++  java
  • 关于mybatis的一些注意点

    1.关于xml文件的mapper下有子文件夹加载的问题,访问控制器方法会提示localhost 拒绝了我们的连接请求。

      解决方法:在application.properties配置中修改mybatis.mapper-locations的参数,例如改为: 

      mybatis.mapper-locations=classpath:mapper/*.xml,classpath:mapper/module/**/*.xml,classpath:mapper/frame/**/*.xml

      这样写就表示会加载mapper根目录、mapper/module目录、mapper/frame目录下的所有xml文件;

    2.SQL语句中的特殊转移符:
      如果直接写: select * from user where id <> 217;mybatis就会报语法错误,<>特殊字符需要转义,如下

      select * from user where id &lt;&gt; 217;

      使用Mybatis的时候,特殊字符需进行转义,如
      &lt;&gt; <>
      &amp; &
      &apos; '
      &quot;

    3.Mybatis允许返回null值的字段:

    在application.properties配置文件添加以下信息即可返回null值的字段;
    mybatis.configuration.call-setters-on-nulls=true

    4.关于日期的格式化:
    如果通过mybatis返回的日期类型,再通过FastJson直接toJSONString转换的话,会直接按整数输出,这个并不是我想要的结果;
    日期类型我只想要2种格式的,一种是 yyyy-MM-dd,另一种是 yyyy-MM-dd hh:mm:ss,但大多数都是yyyy-MM-dd的字段,少数
    是yyyy-MM-dd hh:mm:ss格式,为此我们可以这样做,在mybatis的mapper配置文件中这样写sql语句:
    select convert(varchar(19),crdate,20) as crdate --只针对yyyy-MM-dd hh:mm:ss格式的字段内转换;

    然后把返回的List<Map>使用以下方法来转成json格式:
    json = JSON.toJSONStringWithDateFormat(
    lsmap,
    "yyyy-MM-dd",
    SerializerFeature.WriteMapNullValue,
    SerializerFeature.WriteNullListAsEmpty,
    SerializerFeature.WriteNullBooleanAsFalse,
    SerializerFeature.WriteDateUseDateFormat
    );
    这样默认所有日期格式会转为yyy-MM-dd格式,因为类似crdate这样的字段已经在sql里转为了字符串格式,所以不受DateFormat影响;

     










     

  • 相关阅读:
    第二篇 Flask 中的 Render Redirect HttpResponse
    第一篇 你好,我叫Flask
    redis发布订阅
    redis学习
    mysql+centos7+主从复制
    Linux系统基础优化及常用命令
    vim与程序员
    Shell基本命令
    js bom和dom
    javaScript基础
  • 原文地址:https://www.cnblogs.com/lpq21314/p/14629043.html
Copyright © 2011-2022 走看看