mySQL使用JDBC自动增量

时间:2014-09-18 04:20:27

标签: mysql jdbc

我创建了一个页面并希望将其存储在mySQl中,但是我想从我的java程序中实现自动增量并将其作为参数传递给我。我使用静态count = 0计数器作为传递但它不是发生。 这是我正在使用的功能

static int=count++;
CorruptionStory corruptionStory = 
    new CorruptionStory(count, new State(stateId,stateNameSelected), 
                        age, new Department(deptId,departmentNameSelected), 
                        positionOfOfficial,bribeAmount, description, sqlDate);
isSuccessfullySaved = CorruptionStoryJdbcImpl.
                          saveCorruptionStory(corruptionStory);

1 个答案:

答案 0 :(得分:0)

我认为让java代码管理数字的自动递增是个好主意,你应该真正配置你的表模式来为你做。原因如下:

  1. 如果您重新启动应用程序,则需要编写代码以确定要恢复的号码。
  2. 如果你的程序有多个实例在运行,它们会以某种方式相互协调,因此它们不会使用相同的数字。
  3. MySQL列定义允许您指定自动增量,请参阅:

    http://dev.mysql.com/doc/refman/5.6/en/example-auto-increment.html

    如果你编写一个SQL模式文件来解决这个问题会好得多。然后,当您从java程序执行insert语句时,可以省略该列,MySQL将自动将其设置为下一个适当的值。

    另外,如果你愿意花时间学习hibernate,你可以使用它。 Hibernate能够自动为您生成SQL模式,甚至可以在启动时为您更新数据库。它有一个注释,可以告诉hibernate某个类字段(表列)应该是一个自动递增的id。

    我应该警告你,冬眠不是你一夜之间要学习的东西。