zoukankan      html  css  js  c++  java
  • mybatis的一些小总结

       好长时间没用mybatis了,现在项目忽然用mybatis,用的过程中出现了些问题,虽然解决了,不过这花的时间有些长了.总结用的过程中出现的一些问题

    1.mapper.xml

       之前一直用的自动生成,现在没用工具了,手动复制了别的,结果大意不细心,没了解一些比如resultMap、parameterType等参数导致报了bug:

      网上说的太多了,

    MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在。
    在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。
    ①当提供的返回类型属性是resultType时,MyBatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。所以其实MyBatis的每一个查询映射的返回类型都是ResultMap,只是当提供的返回类型属性是resultType的时候,MyBatis对自动的给把对应的值赋给resultType所指定对象的属性。
    ②当提供的返回类型是resultMap时,因为Map不能很好表示领域模型,就需要自己再进一步的把它转化为对应的对象,这常常在复杂查询中很有作用。

    2.时间格式问题

    查询的过程中碰到个问题,显示时间的时候,前端没有用jstl表达式,后台返回到前端的时间格式数据是dateTime的,想了半天没解决,最后是把bean里面的时间类型改成了String

    (中间用了网上常说的方法,json注解、sql语句格式化、mapper的 column 列后面jdbcType格式等),但是这样子 年月日 没问题,时分秒时候 后面会多个.0,就是yyyy-mm-dd hh:mm:ss.0这样的格式,虽然前端可以通过截取字符串解决,但是后台为何不行那?这个问题还是没解决。

  • 相关阅读:
    dwSun带你选Python的编辑器/IDE
    ubuntu中文乱码解决
    解决matplotlib中文显示
    1506.01186-Cyclical Learning Rates for Training Neural Networks
    1503.02531-Distilling the Knowledge in a Neural Network.md
    1804.03235-Large scale distributed neural network training through online distillation.md
    mysql导入太慢解决方法
    已某个时间单位(日月周年)来分割时间段
    阿里云邮件推送
    阿里云短信推送服务
  • 原文地址:https://www.cnblogs.com/thinkingandworkinghard/p/6108657.html
Copyright © 2011-2022 走看看