最初我以为这三个number类型是一样的,数据可以相互交互,但是事实上不是这样。
事实是只能提交数据可以存储到数据库,但是逆回来(查询)是不可以的,后台会报错类型内部转换问题。如果没经验的话遇到这个问题很难找到问题错在哪里。
处理方案:
只需要把bean里的类型改为BigDecimal类型就可以。jsp和数据库不需要做改动,因为在查询时回显的值是以bean类型为主。
顺便提下另外一个问题,如果数据库的number类型限制为number(36,10),而jsp页面取值最好是取到15位就好,如果超过16位,数据库就会自动将其数字以E为单位存储,从而导致上面存在的问题。
当然,如果是你本地的demo或者自学的项目,你可以按照百度建议的方法去做修改(在pl/sql developer中->tools->preferences->sql windows->number fields tochar,选中该选项即可),不过我也没尝试过这个方法,应该是可以的。
不过如果你是在做这公司的项目就不建议这样处理,因为项目要部署到服务器中,你本地修改可以,服务器怎么做修改?如果可以就更好了