Code Bye

orm的update 如何进行成员变量是否为空的判断

我用的是mybatis
如果更新的时候只更新表中的部分字段,是不是要把全部的字段重新写一遍,这样效率低。
有什么比较合适的解决方法。

另外,如果更新的时候,有的成员变量是null,恰好数据库字段不允许为空,如果我用jdbc写的话,我可以写代码判断变量是不是null,如果是我换成空字符串之类的。用Mybatis的时候是在配置文件里写sql语句如何进行成员变量是否为空的判断?

我是新手,请详细解答一下,谢谢!


45分
1. orm无法区别哪个字段改了,哪个没改的吧。
2. 关于null值限制,可以在setter方法做个限制,为空就报错或者怎么着。
引用 1 楼 oh_Maxy 的回复:

1. orm无法区别哪个字段改了,哪个没改的吧。
2. 关于null值限制,可以在setter方法做个限制,为空就报错或者怎么着。

1.这种情况没办法优化或者解决?
2.把数据库的限制,往前面提了,这样也不太好阿。
这么看来,orm框架根本没必要用啊。


5分
我咋记得mybatis上加一个javatype就可以解决这个问题来着呢?
引用 3 楼 lsongiu86 的回复:

我咋记得mybatis上加一个javatype就可以解决这个问题来着呢?

你说的是jdbcType吧,这个东西可以指定类型,比如varchar,
我要是传入的字符串是null,怎么处理这个null的问题。

貌似可以加if判断,如果为空值就不修改,但是这个还有有问题,如果就像保存成null就改不了了,可以保存个默认值或空字符串

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明orm的update 如何进行成员变量是否为空的判断