|
How to get auto-generated keys from Java class |
|
|
Databases provide the feature of auto-incrementing which is generally used for IDs. JDBC api also has a method to fetch the last auto generated id.
The example below generates an id and use it to update a table column.
import java.sql.*;
public class testKeys
{
public static void main(String[] args)
{
DB db = new DB();
Connection conn=db.dbConnect(
"jdbc:jtds:sqlserver://localhost:1433/tempdb","sa","");
db.performKeys(conn);
}
}
class DB
{
public DB() {}
public Connection dbConnect(String db_connect_string,
String db_userid,String db_password)
{
try
{
Class.forName("net.sourceforge.jtds.jdbc.Driver");
Connection conn = DriverManager.getConnection(
db_connect_string, db_userid, db_password);
System.out.println("connected");
return conn;
}
catch (Exception e)
{
e.printStackTrace();
return null;
}
}
public void performKeys(Connection conn)
{
String query;
PreparedStatement pstmt;
try
{
query = "insert into customer (name,category) "+
"values ('name1','temp')";
pstmt = conn.prepareStatement(query,
Statement.RETURN_GENERATED_KEYS);
pstmt.executeUpdate();
ResultSet keys = pstmt.getGeneratedKeys();
int count = 0;
keys.next();
int key = keys.getInt(1);
query ="update customer set age =? where id =?";
pstmt = conn.prepareStatement(query);
pstmt.setFloat(1, 26);
pstmt.setInt(2, key);
pstmt.executeUpdate();
keys.close();
pstmt.close();
conn.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
};
|
Related Tips
|
Page 1 of 0 ( 0 comments )
You can share your information about this topic using the form below!
Please do not post your questions with this form! Thanks.