Msq 中tinyint字段对应 java中哪个类型?
MySql 中的tinyint(1)的使用
在MySql中如何定义像Java中类型的Boolean类型数据..其实,mysql中 是没有直接定义成Boolean这种数据类型.
它只能定义成 tinyint(1) ;
当booean 等于1 代表true,boolean 等于2的时候代表false;
如果在pojo中需要定义成Boolean类型映射Mysql中的tinyint(1)类型.
在Hibernate配置文件中,可以这样配置.
<property name="status" type="java.lang.Boolean"> <column name="STATUS" sql-type="tinyint(1)"$amp;>amp;$lt;/column> </property>
tinyint
0 到 2551 字节
所以就对应byte了(当然比byte长的类型也能符合要求了)
思路:先看看tinyint是几个字节,再找java中对应的有没有,没有就找比本类型长的了
表中的“类型”字段,不会少吧,比如订单有订单类型、取消原因类型等等10来个类型字段,(这些类型,最多有10多个值,再加也多不到哪去),其他的虽然少,但是一个表最少有1个吧,算这400多个表“类型”字段一共500个吧,我们来算一下数据空间的差别(假设数据都是500万条):
使用tinyint:5000000*1*500/1024/1024 = 2384MB
使用int:5000000*4*500/1024/1024 = 9537MB
光数据存储,相差就是几个G,还有数据库日志呢,绝对不会比数据少(现在生产环境数据已经差不多到达1000多万了)
字段大,对于数据库查询、数据传输等方面都会有很大影响的,所以不要小看 Int和tinyint类型的选择!我们系统很多都是开发者自己建立的数据库表,int在和程序中方便使用,直接用Int了,根本不会考虑效率问题,这是需要重视的。