为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:达梦v8
【操作系统】:win7
【CPU】:i7
【问题描述】*:
springboot+mybatis-plus项目,从oracle11g迁移到达梦v8后,使用mybatis-plus提供的原生插入、更新接口进行插入或者更新操作:
1.如果实体包含Integer类型数据,当数值为10,20,…90时,插入或更新之后对应number(4,0)字段数据为1,2,…9;
2.数值为100,200,…900时表中显示100,200,…900;
3.数值为1000,2000,…9000时表中显示100,200,…900;
(以上接口调用在服务日志中显示的参数均正常)
4.在xxMapper.xml中自定义update语句更新字段,则不会出现以上问题。
所以请问如何解决?
另,通过开启数据库日志查看sql执行情况,调用mybatis原生接口,日志中显示update test set seg1=? where id='123’不显示参数;调用自定义接口日志中显示update test set seg1=10 where id=‘123’,请问该如何设置才能不显示问号?
您这个问题,我在本地做了测试,没有出现您讲的情况,请您仔细查看您的代码。测试过程如下:




测试环境:
Win10 +jdk1.8.0_162+ eclipse + mybatis3.5 + mybatis_plus3.1.0 + 数据库版本8.1.2
测试结果:
经简单做测试:未出现您所讲问题。数据插入正常。如果您还有后续问题,可继续沟通,并提供详细的测试代码。
表创建语句:create table t1(t number(4,0));
测试一:
1-100之间插入能被10整除的数:
程序截图如下:
数据库结果如下:
测试二:
1000-10000之间能被1000整除的数
程序截图如下:
数据库如下: