oracle中date类型在mybatis中查询时遇到的坑
《oracle中date类型在mybatis中查询时遇到的坑》这篇在博客园热度很高,讲的正是大家天天碰到的事。下面帮你把要点捋出来,结尾有能直接抄的结论。
背景 最近生产遇到个问题,大致也是遵从墨菲定律吧,你感觉会出问题的地方,可能就真会出问题。oracle我一直觉得过于复杂,从来没有系统学习过。最近遇到的问题就和date这种类型的列有关系,有个表中的记录大概这样:2024-05-13 00:00:00.000 ,然后类型是date,我还以为这种类型只包含年月日,结果发现其包含了7个字段:世纪、年、月、日、时、分、秒。另外,我还以为这个类型和时区有关系,结果经过这两天的补课,发现这个类型是不包含任何的时区信息的。
背景 最近生产遇到个问题,大致也是遵从墨菲定律吧,你感觉会出问题的地方,可能就真会出问题。oracle我一直觉得过于复杂,从来没有系统学习过。最近遇到的问题就和date这种类型的列有关系,有个表中的记录大概这样:2024-05-13 00:00:00.000 ,然后类型是date,我还以为这种类型只包含年月日,结果发现其包含了7个字段:世纪、年、月、日、时、分、秒。另外,我还以为这个类型和时区有关系,结果经过这两天的补课,发现这个类型是不包含任何的时区信息的。 简单说下遇到的问题吧,oracle里有一个考勤结果表,主要包含了oa账号、date、考勤结果,之前是有一个数据库定时任务,每天早上6点会调用一个存储过程,存储过程里会往这个表里插入数据。
背景 最近生产遇到个问题,大致也是遵从墨菲定律吧,你感觉会出问题的地方,可能就真会出问题。oracle我一直觉得过于复杂,从来没有系统学习过。最近遇到的问题就和date这种类型的列有关系,有个表中的记录大概这样:2024-05-13 00:00:00.000 ,然后类型是date,我还以为这种类型只包含年月日,结果发现其包含了7个字段:世纪、年、月、日、时、分、秒。另外,我还以为这个类型和时区有关系,结果经过这两天的补课,发现这个类型是不包含任何的时区信息的。 简单说下遇到的问题吧,oracle里有一个考勤结果表,主要包含了oa账号、date、考勤结果,之前是有一个数据库定时任务,每天早上6点会调用一个存储过程,存储过程里会往这个表里插入数据。 由于不好调试,且这个存储过程有点bug,我就用xxljob+java重新实现了一下,初版是ai写的,我自己调整了部分代码。
背景 最近生产遇到个问题,大致也是遵从墨菲定律吧,你感觉会出问题的地方,可能就真会出问题。oracle我一直觉得过于复杂,从来没有系统学习过。最近遇到的问题就和date这种类型的列有关系,有个表中的记录大概这样:2024-05-13 00:00:00.000 ,然后类型是date,我还以为这种类型只包含年月日,结果发现其包含了7个字段:世纪、年、月、日、时、分、秒。另外,我还以为这个类型和时区有关系,结果经过这两天的补课,发现这个类型是不包含任何的时区信息的。 简单说下遇到的问题吧,oracle里有一个考勤结果表,主要包含了oa账号、date、考勤结果,之前是有一个数据库定时任务,每天早上6点会调用一个存储过程,存储过程里会往这个表里插入数据。 由于不好调试,且这个存储过程有点bug,我就用xxljob+java重新实现了一下,初版是ai写的,我自己调整了部分代码。 我的java实现大概如下: 为了支持幂等(xxljob重复运行),会检查某个用户在某一天是否已经有记录了,有记录就先删掉,没记录就插入(典型的先删再加)。
背景 最近生产遇到个问题,大致也是遵从墨菲定律吧,你感觉会出问题的地方,可能就真会出问题。oracle我一直觉得过于复杂,从来没有系统学习过。最近遇到的问题就和date这种类型的列有关系,有个表中的记录大概这样:2024-05-13 00:00:00.000 ,然后类型是date,我还以为这种类型只包含年月日,结果发现其包含了7个字段:世纪、年、月、日、时、分、秒。另外,我还以为这个类型和时区有关系,结果经过这两天的补课,发现这个类型是不包含任何的时区信息的。 简单说下遇到的问题吧,oracle里有一个考勤结果表,主要包含了oa账号、date、考勤结果,之前是有一个数据库定时任务,每天早上6点会调用一个存储过程,存储过程里会往这个表里插入数据。 由于不好调试,且这个存储过程有点bug,我就用xxljob+java重新实现了一下,初版是ai写的,我自己调整了部分代码。 我的java实现大概如下: 为了支持幂等(xxljob重复运行),会检查某个用户在某一天是否已经有记录了,有记录就先删掉,没记录就插入(典型的先删再加)。 结果不记得当时是本地测试不充分还是怎么的,反正就上线了,上线后,xxljob一跑,结果发现存储过程那边写入的记录没删掉,然后重新插入了一条一样的,导致同一个用户同一天有了多条记录,导致app侧报错。
读完别停:把最触动你的一条记下来,这周就用上。能落地的阅读才算数,欢迎回来聊聊你的实践结果。 来源|博客园《oracle中date类型在mybatis中查询时遇到的坑》,https://www.cnblogs.com/grey-wolf/p/22956435.html
评论(0)
暂无评论,来抢第一条。