原来boolean不能初始化为空和对应于mysql数据库中类型与存取
2016-04-26 22:08
633 查看
最经在做一个项目用到了一个数据库建了个表里面有一个性别的属性用tinyint(1)对应与 java中的Boolean但是当我用反射来将result中的数据反射成对象并赋值的时候发现报IllegalArgumentException这个错误原来是我在数据库中没有为这个属性设置值他为空值,等取出时jdbc转化为false或true但是这个属性为空会报错我做了一个实验看:
他就会报错就是这个原因不能这样如果未对boolean类型初始化java会初始化为false,所以我们在数据库中表示性别的时候最好用默认值而且不能为空1为真0位false
当从mysql数据库存取时这个属性会自动转化成对应的类型
public class Test { private static boolean sex=(Boolean) null; public static void main(String[] args) { Person p = new Person(); p.setSex(sex); System.out.println(p.isSex()); } }
他就会报错就是这个原因不能这样如果未对boolean类型初始化java会初始化为false,所以我们在数据库中表示性别的时候最好用默认值而且不能为空1为真0位false
当从mysql数据库存取时这个属性会自动转化成对应的类型
相关文章推荐
- mysql-5.6.28主从备份,异地容灾
- mysql技术调优资料整理
- mysql批量插入优化
- MYSQL的DOUBLE WRITE双写
- mysql
- Mysql 语句执行顺序
- mysql学习笔记(二)
- MySQL存储过程的异常定义及处理
- Mysql (二) - 增删改查
- MySQL指令记录(Wampserve环境)
- 使用sparksql读取mysql中的数据
- MySQL创建存储过程
- MySql查询方式优化-重新构建查询
- mysql中左连接,右连接,内连接查询
- 关于MySQL数据库重装失败,出现问题,重装的时候出现错误1130的问题和解决办法。
- Mysql学习笔记
- MySQL出现中文乱码
- mysql 事务处理,事务操作,JDBC中事务的使用,事务的sql语句,
- mysql主从复制,及扩展
- mysql中触发器的应用