获得数据库自动生成的主键实例
public void insert(){
Connection con=null;
PreparedStatement st=null;
ResultSet rs=null;
//获取连接
try {
con=DBManager.getConnection();
String sql="insert into users (name,password) values (?,?)";
st=con.prepareStatement(sql);//提供了预编译的sql语句
st.setString(1, "Tom");
st.setString(2, "1234");
st.executeUpdate();
rs=st.getGeneratedKeys();//返回的是结果集,这个结果集是一个单行单列的
if(rs.next()){
System.out.println(rs.getInt(1));//输出的是id值
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//资源释放
finally{
DBManager.release(con, st, rs);
}
}
附加:DBManager.java对数据库的链接
public class DBManager {
private static String username;
private static String password;
private static String url;
private static String driver;
static{
try{
InputStream in = DBManager.class.getClassLoader().getResourceAsStream("config/dbcp.properties");
Properties prop = new Properties();
prop.load(in);
driver = prop.getProperty("driverClassName");
url = prop.getProperty("url");
username = prop.getProperty("username");
password = prop.getProperty("password");
Class.forName(driver);
}catch (Exception e) {
throw new ExceptionInInitializerError(e);
}
}
public static Connection getConnection() throws SQLException{
return DriverManager.getConnection(url, username, password);
}
public static void release(Connection conn,Statement st,ResultSet rs){
if(rs!=null){
try{
rs.close();
}catch (Exception e) {e.printStackTrace();}
rs = null;
}
if(st!=null){
try{
st.close();
}catch (Exception e) {e.printStackTrace();}
st = null;
}
if(conn!=null){
try{
conn.close();
}catch (Exception e) {e.printStackTrace();}
conn = null;
}
}
}
获得数据库自动生成的主键实例:
public void insert(){
Connection con=null;
PreparedStatement st=null;
ResultSet rs=null;
//获取连接
try {
con=DBManager.getConnection();
String sql="insert into users (name,password) values (?,?)";
st=con.prepareStatement(sql);//提供了预编译的sql语句
st.setString(1, "Tom");
st.setString(2, "1234");
st.executeUpdate();
rs=st.getGeneratedKeys();//返回的是结果集,这个结果集是一个单行单列的
if(rs.next()){
System.out.println(rs.getInt(1));//输出的是id值
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//资源释放
finally{
DBManager.release(con, st, rs);
}
}
附加:DBManager.java对数据库的链接
public class DBManager {
private static String username;
private static String password;
private static String url;
private static String driver;
static{
try{
InputStream in = DBManager.class.getClassLoader().getResourceAsStream("config/dbcp.properties");
Properties prop = new Properties();
prop.load(in);
driver = prop.getProperty("driverClassName");
url = prop.getProperty("url");
username = prop.getProperty("username");
password = prop.getProperty("password");
Class.forName(driver);
}catch (Exception e) {
throw new ExceptionInInitializerError(e);
}
}
public static Connection getConnection() throws SQLException{
return DriverManager.getConnection(url, username, password);
}
public static void release(Connection conn,Statement st,ResultSet rs){
if(rs!=null){
try{
rs.close();
}catch (Exception e) {e.printStackTrace();}
rs = null;
}
if(st!=null){
try{
st.close();
}catch (Exception e) {e.printStackTrace();}
st = null;
}
if(conn!=null){
try{
conn.close();
}catch (Exception e) {e.printStackTrace();}
conn = null;
}
}
}