1、DB2查询GUID:
select * from pix where id like '2d5712d9-ced6-4810-aa4f-7365f2aba09%';
结果为:
sql换成:select * from pix where id = '2d5712d9-ced6-4810-aa4f-7365f2aba098';查询结果为空。
代码中以“2d5712d9-ced6-4810-aa4f-7365f2aba09”作为条件,查出来结果为“2d5712d9-ced6-4810-aa4f-7365f2aba095”
第一次碰到这样的奇葩问题:
后来找人帮忙才知道:id是从sqlServer传过来的,35位,中间可能通过程序处理,也有可能是DB2不支持这样的GUID,造成35位之后其实另外占用的1~3位,从数据库将“2d5712d9-ced6-4810-aa4f-7365f2aba098”复制出来变成这样子:
"2d5712d9-ced6-4810-aa4f-7365f2aba09?"
那个问号就占用了3位,所以用=是匹配不到的。
解决办法:
(1)更改程序逻辑,让其插入数据的时候就应该进行处理
(2)既然已经确定id传过来是35位,那sql这样写:select * from pix where substr(id,1,35) = '2d5712d9-ced6-4810-aa4f-7365f2aba09';
2、访问界面时总是提示404 Bad Request
找了半天,发现取service的参数的时候,属性设置成必须传,于是打断点的地方死活进不来
而我访问时url没有带service参数,所以将required设置成false即可。