jsp插入数据库一条记录后怎么样能取出插入当前记录的id值 比方调用一个写好的插入类,调用完后需要返回插入记录的id值,这个id是自动增长列.怎么样才能插入记录后就能取出id?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select id from table where ziduan='"+ziduan+"' select max(id) as id from t 有几种方法,其实最好的是:Statement stmt = conn.createStatement(); // Obtain the generated key that results from the query. stmt.executeUpdate("INSERT INTO authors " + "(first_name, last_name) " + "VALUES ('George', 'Orwell')", Statement.RETURN_GENERATED_KEYS); ResultSet rs = stmt.getGeneratedKeys(); if ( rs.next() ) { // Retrieve the auto generated key(s). int key = rs.getInt(1); } 这样的代码,不过这样的代码如果想正常的运行,必须运行在JDBC 3.0的版本下,,这意味着你使用的JDBC的JAR包驱动必须要支持到JDBC3.0的,你可以查看相关的官方文档,看是否支持。。还有另外一种是使用最简单的SQL语句了:select max(id) from yourTableName类似这样的语句了,你max(id)之前必须要提交事务,确保记录已经插入到DB中。还有另外一种办法就是把这个代码放到存储过程中了,原理是一样。 ibatis,hibernate等框架可以在插入的同时返回idselect max(id) from yourTableName 也可以但必须用事物控制 取最大值不能满足我现在的业务,因为这个id和其他表有关联,也就是说3个表id关联,前2个表关联可以用最大值,但是到第三个表的时候再取最大值就不一定了,这个不是一个操作,需要多步完成,到第三步查出id前有可能已经再次插入数据 select max(id) from yourTableName 有一定的可能会不对,比如说你刚插入完一条数据,事务也提交,这时候,另外一个马上去插入数据,插入完之后你再去取.就会得不到这正确的结果,要么像四楼所说的一样.要么就得用到唯一键去查询了.比如说用户这一块,用户名应该是唯一的,你就可以用这个用户去查询它的ID.其它的也一样.既然是关联的,你可以把几个表关联起来一起查询第三个表的ID呀. 可以调用数据库的内置函数比如mysql:last_insert() request对象和application都有getRequestDispatcher,有什么不同? SSH三大框架的流程是怎样走的? java 数据采集 大家说说如果杭州做JSP的应该多少一个月啊? 客户端图像不能立即显示,要等1分钟才能显示,如何解决 http请求得不到正确的数据 兄弟们啊,出错了,初学者的错误 AOP如何获取参数名,不是参数值 <table></table>能不能做成透明的? 做新闻发布系统时上传遇到的问题!!! 网络爬虫程序 HTML代码复制到JSP页面后,客户浏览时候字体变大。可CSS又不是完全失效。
// Obtain the generated key that results from the query.
stmt.executeUpdate("INSERT INTO authors " +
"(first_name, last_name) " +
"VALUES ('George', 'Orwell')",
Statement.RETURN_GENERATED_KEYS);
ResultSet rs = stmt.getGeneratedKeys();
if ( rs.next() ) {
// Retrieve the auto generated key(s).
int key = rs.getInt(1);
} 这样的代码,不过这样的代码如果想正常的运行,必须运行在JDBC 3.0的版本下,,这意味着你使用的JDBC的JAR包驱动必须要支持到JDBC3.0的,你可以查看相关的官方文档,看是否支持。。还有另外一种是使用最简单的SQL语句了:
select max(id) from yourTableName
类似这样的语句了,你max(id)之前必须要提交事务,确保记录已经插入到DB中。还有另外一种办法就是把这个代码放到存储过程中了,原理是一样。
select max(id) from yourTableName 也可以但必须用事物控制
有一定的可能会不对,比如说你刚插入完一条数据,事务也提交,这时候,另外一个马上去插入数据,插入完之后你再去取.就会得不到这正确的结果,要么像四楼所说的一样.要么就得用到唯一键去查询了.
比如说用户这一块,用户名应该是唯一的,你就可以用这个用户去查询它的ID.其它的也一样.
既然是关联的,你可以把几个表关联起来一起查询第三个表的ID呀.