有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java数据访问对象原语类型与对象类型?

我想知道最好的方法

正如您所见,int不能为null。 其中整数的对象可以

问题:列为数字的数据库值可以为null,也可以包含数字。 当数据库传递null值时,我们会收到一个异常,表明 “基元值不能为null”

但是,当我们使用Integer类时,我们正在创建那个对象(当然,它比基本类型int更大/更庞大)

所以这给我带来了两个选择

  1. 使用整数类型
  2. 将数据库列设置为“默认”
  3. 如果数据库中有不同的内容,请将int设置为default,然后接受它

还有其他建议吗


共 (3) 个答案

  1. # 1 楼答案

    我认为你不必担心Integer<->;int转换性能(100000000操作秒),如果查询数据库(5000操作秒)。勇敢地使用盒装类型

  2. # 2 楼答案

    使用Hibernate(或类似的ORM),让框架直接处理数据库。然后你可以按自己喜欢的方式编程,而不必处理转换

    重新发明轮子很少能像一开始就使用别人的轮子那样有效,尤其是当成千上万的人已经在使用同一个轮子的时候

  3. # 3 楼答案

    我的选择:

    首先-如果可能,并且在数据库中设置默认值在逻辑上是正确的(可能是一个FK到一个包含所有值的ref表+一个默认值)

    第二,如果第一个不可能,我会毫无保留地使用Integer对象。我认为你不会有性能问题。代码将是干净的,但文档中的变量“可以包含null,并在处理该变量时检查null”

    为了保持软件的可维护性和灵活性,我总是选择可读性和可理解性更强的软件