首页 新闻 会员 周边

java实体类属性类型和数据库数据类型

0
悬赏园豆:10 [已解决问题] 解决于 2019-04-13 18:39

最近发现实体类属性类型都定义成String,数据库不管什么数据类型都可以自动插入,是jdbc底层已经封装好转化了吗

问题补充:

springmvc框架,oracle数据库

fangpengcheng_方鹏程的主页 fangpengcheng_方鹏程 | 初学一级 | 园豆:4
提问于:2018-10-14 07:15
< >
分享
最佳答案
0

怎么会呢。。如果类型不同 或者 精度 问题 最后插入时 还是会报错的!

收获园豆:10
^keepHungry$ | 小虾三级 |园豆:516 | 2018-10-15 15:09

精度问题?字符串歪,如果是int我插入Double,那可以理解精度问题

fangpengcheng_方鹏程 | 园豆:4 (初学一级) | 2018-10-15 17:51

@xiaofang.bk: 。。。。我只是把这样的问题 列出来而已。。

^keepHungry$ | 园豆:516 (小虾三级) | 2018-10-15 17:54

确实我一开始实体类都定义String类型,没注意数据类型,然后数据库有Int ,number,varchar2,timestamp,我居然插进去了, 插入的数据都是前台输入1,2,3,4...这样的数据

fangpengcheng_方鹏程 | 园豆:4 (初学一级) | 2018-10-15 17:56

@xiaofang.bk: 那你看看 你是用的什么框架 看看实体.java映射文件 对应的字段属性 是不是都是对的。如果找不出来的话 个人觉得 不管开发环境怎么对 还是要类型写正确

^keepHungry$ | 园豆:516 (小虾三级) | 2018-10-15 17:58

@^keepHungry$: 但确实我的的确确插进去了,不然我也不会发博客问,我也和你们想的一样啊

fangpengcheng_方鹏程 | 园豆:4 (初学一级) | 2018-10-15 17:59

@xiaofang.bk: 可能插入的时候 oracle会转 但是 字符串 不仅仅是数字的字符串!

^keepHungry$ | 园豆:516 (小虾三级) | 2018-10-15 18:00

@^keepHungry$: 都是对的,不然插不进去啊

fangpengcheng_方鹏程 | 园豆:4 (初学一级) | 2018-10-15 18:01

@xiaofang.bk: 你填字符串 abcd 也能插进去??

^keepHungry$ | 园豆:516 (小虾三级) | 2018-10-15 18:01

@^keepHungry$: 不是数字字符串是会报错的

fangpengcheng_方鹏程 | 园豆:4 (初学一级) | 2018-10-15 18:02

那为什么日期类型,实体类中定义String类型,oracle数据库dateTime都是可以插入进去的,

fangpengcheng_方鹏程 | 园豆:4 (初学一级) | 2018-10-15 18:03

@xiaofang.bk: 那就是咯 你在oracle里 查询的时候 如果是数字字符串 或者是数字类型的 字段 你可以 select * from t where t.id=1 或者 select * from t where t.id='1' 这两种 都是对的。但是 在某些环境里,可能转换错误。

^keepHungry$ | 园豆:516 (小虾三级) | 2018-10-15 18:04

@xiaofang.bk: 这就说明 oracle里 有自带转换成想要的类型。

^keepHungry$ | 园豆:516 (小虾三级) | 2018-10-15 18:07

@^keepHungry$:喔喔

fangpengcheng_方鹏程 | 园豆:4 (初学一级) | 2018-10-15 18:10

好吧,和你们交流一下,也明白了不少,谢谢

fangpengcheng_方鹏程 | 园豆:4 (初学一级) | 2018-10-15 18:11
其他回答(2)
0

怎么可能,你数据定义个int类型然后你实体类属性传个"abc"进去试试

木木他爹 | 园豆:206 (菜鸟二级) | 2018-10-15 09:32
0

你用了什么框架吗?数据库得数据类型是很严格的,传入的数据类型也必须与之吻合。

番茄先生 | 园豆:911 (小虾三级) | 2018-10-15 16:12

确实我一开始实体类都定义String类型,没注意数据类型,然后数据库有Int ,number,varchar2,timestamp,我居然插进去了, 插入的数据都是前台输入1,2,3,4...这样的数据

支持(0) 反对(0) fangpengcheng_方鹏程 | 园豆:4 (初学一级) | 2018-10-15 17:53

timstamp那个是日历插件选的,不是1,2,3,4....

支持(0) 反对(0) fangpengcheng_方鹏程 | 园豆:4 (初学一级) | 2018-10-15 17:55

@xiaofang.bk: 建议日历插件选完时间后在后端转成long型,存入数据库这样会比较好一些

支持(0) 反对(0) 番茄先生 | 园豆:911 (小虾三级) | 2018-10-15 18:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册