关于MyBatis一些问题随笔
2013-12-03 11:21
218 查看
不讨论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、关于日期格式的保存,发现进入到数据库中没有时分秒,后来在网上查找资料发现
记下来省的忘了
以上是最近碰到的问题和自己的解决之道,要是有人有好的建议和解决方案望不吝赐教,拜谢。
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”
记下来省的忘了
以上是最近碰到的问题和自己的解决之道,要是有人有好的建议和解决方案望不吝赐教,拜谢。
相关文章推荐
- 关于使用MyBatis-Generator时自定义注解生成器的一些问题
- Mybatis:关于动态生成sql语句的一些问题
- 关于Mybatis使用的一些问题汇总(持续更新)
- 关于openoffice/libreoffice+swftools+jodconverter+flexpaper预览文件的一些问题
- 关于Hibernate,Spring,Struts一些问题
- 收集关于angular与JS的一些常见问题 总结
- 关于mybatis的 insert into select 命令未结束问题
- 关于udev,sys,proc,tmpfs一些定义的问题
- 关于ligerUI的碰到的一些问题
- GDI+关于画图的一些问题
- MyBatis的架构和执行的流程,解决jdbc的一些问题
- davinci 关于共享buf的一些问题
- 关于mbstring的一些问题处理
- 关于php学习的一些小问题
- 关于CUDA中cutil的一些问题
- 关于String的一些问题小结
- 关于NopCommerce里的一些主要问题的解答
- 关于运行Drupal 7的Nginx+PHP系统设置的一些问题解决方案总结
- 关于java gui设计中的一些问题
- 关于通用的浮动类,一些小问题(clear:both)