用java代码获得自动增长的id。不用数据库的自动增长
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java代码获得自动增长的id。不用数据库的自动增长相关的知识,希望对你有一定的参考价值。
我想用java语言首先获得100000这个整数作为id。然后每添加一条记录这个id会自动增加1,不用数据库的自动增长。这样的代码怎么写?求教
你说的插一条记录,这个一条记录放哪了?是数据库吗?你说的ID是放在数据库里吗?如果不是,放在一个类里,初值设为100000,当对数据库经行一次插入的操作,就把这个值+1。当然你可以把这个ID放在session中然后取出来。有点迷糊你问得。 参考技术A 注意修改下面数据库的名称、登陆的账号密码。我用的数据库名是:test账号密码都是:root=================================importjava.sql.*;publicclassJDBCTestpublicstaticvoidmain(String[]args)//1.注册驱动tryClass.forName("com.mysql.jdbc.Driver");catch(ClassNotFoundExceptionex)ex.printStackTrace();//声明变量,使用,而后关闭Connectionconn=null;//数据库连接Statementstmt=null;//数据库表达式ResultSetrs=null;//结果集try//2.获取数据库的连接conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");//3.获取表达式stmt=conn.createStatement();//4.执行SQLStringsql="selecttimefromshijianwhereid=123";rs=stmt.executeQuery(sql);//5.现实结果集里面的数据while(rs.next())System.out.println("id为123的time值="+rs.getString(1));catch(Exceptionex)ex.printStackTrace();finallytryif(rs!=null)rs.close();if(stmt!=null)stmt.close();if(conn!=null)conn.close();catch(Exceptionex)ex.printStackTrace();如何查询出刚插入一条数据的id(id是自动增长的)
查出来后如何将其赋值给一个Long型的变量
mysql数据库,java语言
用insert into table_name () values ();刚插入了一条数据
现在想获得刚插入这条数据的id(id是自动增长的)
得到id后如何把它赋值给一个Long型的变量
int mysql_insert_id ( [resource $link_identifier] );
例如:
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");
mysql_query("INSERT INTO mytable (product) values (\'kossu\')");
printf ("Last inserted record has id %d\\n", mysql_insert_id());
?>
补充:
如果不是PHP语言,可以使用MYSQL的函数LAST_INSERT_ID() 来获取,例如insert into table_name () values ();插入数据后,可以用SELECT LAST_INSERT_ID() 获取这个ID,当然也可以在插入关联表的语句里面直接使用LAST_INSERT_ID()作为字段数值。 参考技术A 这条数据还有什么字段?用来作为where语句的条件
比如:select id from xx_biao where name='小明' (PS:比如你刚刚插入一个名字叫做小明的数据,此语句查出小明的ID)
以上是关于用java代码获得自动增长的id。不用数据库的自动增长的主要内容,如果未能解决你的问题,请参考以下文章
spring JdbcTemplate批量插入 怎么获得数据库自动增长的id
JAVA 怎么生成一个ID列?存储过程中有一个ID列是自动生成的,在调用过程时怎样调用生成ID?