关于MyBatis一些问题随笔

不讨论MyBatis性能,也不说它比Hibernate及类似的框架优缺点,本人级别还没到那种程度,本人只是简单的说一些使用过程中自己碰的的一些小问题,当然对于高手来说这些都不是问题。

1、使用selectOne无法查询出结果集,直接在数据库中查询可以查到,但是有多条,然后在MyBatis中配置中修改SQL只查询一条(MySql为limit=1,SQLServer为Top 1,Oracle为rownum=1),之后再查就好了

2、保存的时候某个字段为null不能保存,报错,网上很多解释是使用nullValue,但是我发现MyBatis 3.X没有这个属性,最后每个字段加上jdbcType属性就解决了,不知道还有没有其他解决方案

3、执行完update后在执行select后查询不出来数据,后来最终发现是因为之前执行update出错了,导致后面对象执行select结果集为null,不知道为什么执行update的时候不报错误,反正挺纠结了,后来解决了update后select就可以正常查询出来了

4、说说第四点吧,这点属于严重的不认真不仔细导致的,也就是在配置resultMap时数据库字段和Java属性对应有问题,例如我们一般在写配置的时候喜欢复制写好的没有问题的配置文件然后再改一下,问题就出现在这里,一旦没有仔细检查就有可能出现多余的字段,导致问题的产生

5、关于日期格式的保存,发现进入到数据库中没有时分秒,后来在网上查找资料发现

完整的日期时间,要确保jdbcType为空,或为DATE,TIME以外的值
只需要时间,要指定jdbcType=”TIME”
只需要日期,要指定jdbcType=”DATE”

记下来省的忘了


以上是最近碰到的问题和自己的解决之道,要是有人有好的建议和解决方案望不吝赐教,拜谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值