做JavaWeb课程实践的两个笔记:返回新生成的主键、form的传参

来源:互联网 发布:直播平台带宽算法 编辑:程序博客网 时间:2024/06/05 04:40

最近在做JavaWeb课程的实践。遇到两个问题:一是如何返回新插入数据库的数据的主键;二是如何在form里传递参数。

之前也做过和数据库相关的 CRUD(增删改查)操作,也遇到这个获取新的主键的问题。但之前那次用的是 Hibernate ,并且做完后也没有记录下解决过程和方法。因此现在记忆模糊不记得是如何解决这个问题了。现在做实践的时候又遇到,怕以后又忘记,因此现在记下来。

Statement stmt = ... ;  stmt.executeUpdate("INSERT INTO table_name(......) VALUES(......)",Statement.:MicRETURN_GENERATED_KEYS);  ResultSet rs = stmt.getGeneratedKeys();  int keyValue = -1;  if (rs.next()) {      keyValue = rs.getInt(1);}

这个 getGeneratedKeys() 可以返回新生成的主键的 ResultSet 。同时 PreparedStatement 也有这样的方法。

原来 execute() 方法的返回值是影响数据库的记录数。比如插入一条数据的返回应该是1。若是更新数据的话可能会影响多条数据,返回值就是影响的条数。(若错误望指正)

另一个问题是如何在 form 里通过 post 传递任意的参数。我们知道在 form 里的输入框和提交按钮等都是通过 input 标签实现的,而这些标签的 name 属性就是参数的 key值。那现在我需要的就是传递其他一些参数,但又不是输入框之类需要用户输入的东西,这该如何办呢?谷歌了一下才知道原来这么简单。input 的类型除了输入框和按钮外,还有 hidden 这一类,这类标签是不显示的。这样就可以通过隐藏的 input 来传递参数。原来这么简单。

<input type="hidden" name="par" value="写你要提交的参数"/>

这次似乎罗嗦了很多。。。

原创粉丝点击