获得数据库自动生成的主键实例:

来源:互联网 发布:java classpath文件 编辑:程序博客网 时间:2024/04/30 05:12

                                                                                                    获得数据库自动生成的主键实例

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;

       }

    }

}

 

原创粉丝点击