由于是初学,犯了如下错误:

生成表的主键id时,用当前时间的毫秒值。而在oracle中定义主键id时,用的数据类型是char(32)。在mybatis中通过id取数据怎么也取不出来。想了好几天,本来以为是浏览器中取id是带有空值,于是乎就用trim()函数去除空值,但还是没有查出数据,最后才发现是数据库中的数据类型定义成固定长度了,当前时间的毫秒值只有16位,而char(32)就是固定长度的32位,意思也就是说有16位是空格了,所有没法取出数据。动手将char(32)改成varchar2(32),重新查询,一切正常。

问题是解决了,但是用当前时间的毫秒值作为id是不可取的,于是乎就将其改成了uuid生成的固定长度的32为数作为id。重新将id数据类型改成了char(32)。问题也就随之解决了,大过年的,找了好几天。说多了都是泪啊。