mysql和jdbc: oracle插入一条数据返回主键

   package  org.sin.common.dao;      import  java.sql.CallableStatement;   import  java.sql.Connection;   import  java.sql.DriverManager;   import  java.sql.PreparedStatement;   import  java.sql.ResultSet;   import  java.sql.SQLException;   import  java.sql.Statement;      import  oracle.jdbc.OracleTypes;      import  org.sin.domain.User;      public  class  JDBCDao  {      private  static  boolean  mysql =,假;   康涅狄格州private  Connection ;   static  {   try  {   if  (mysql), {   forname (“com.mysql.jdbc.Driver”);   },{else    forname (“oracle.jdbc.driver.OracleDriver”);   }      },catch  (ClassNotFoundException  e), {   e.printStackTrace ();   }   }      private  JDBCDao (), {   String  url,用户,密码;   if  (mysql), {   url =, " jdbc: mysql://127.0.0.1:3306/cl”;   时间=user “根”;   password =,“”;   },{else    url =, " jdbc: oracle:薄:@localhost: 1521: orcl”;   时间=user “安迪”;   时间=password “根”;   }   try  {   conn =, DriverManager.getConnection (url,用户,密码);   System.out.println (conn.getAutoCommit ());   },catch  (SQLException  e), {   e.printStackTrace ();   }   }      private  User  SaveUser (User 用户),{   String  sql =, " insert  into  t_User (id、用户名、密码),值(user_id.nextval, ? ?)”;   Long  id =, 1 l;   try  {   conn.setAutoCommit(假);   PreparedStatement  ps =, conn.prepareStatement (sql, Statement.RETURN_GENERATED_KEYS);   int 小姐:=,0;   for (小姐:=,0;,小姐:& lt;, 10000;,我+ +),{   ps.setString (1, user.getUsername (), +,”——“, +, i);   ps.setString (2, user.getPassword (), +,”——“, +, i);   ps.executeUpdate ();   ResultSet  rs =, ps.getGeneratedKeys ();   while  (rs.next ()), {   时间=id  rs.getLong (1);   System.out.println(“在在在在在在在”,+,id);   }   }   conn.commit ();   },catch  (SQLException  e), {   e.printStackTrace ();   }   user.setId (id);   return 用户;   }      private  User  SaveUser2 (User 用户),{   String  sql =, " BEGIN  insert  into  t_user (id、用户名、密码),值(user_id.nextval, ? ?), returning  id  into  ?,,,”;   Long  id =, 1 l;   try  {   conn.setAutoCommit(假);   CallableStatement  cs =, conn.prepareCall (sql);   (int  i=0; i<10000;我+ +){   cs.setString (1, user.getUsername (), +,”——“, +, i);   cs.setString (2, user.getPassword (), +,”——“, +, i);   cs.registerOutParameter (3, OracleTypes.NUMBER);   cs.execute ();   时间=id  cs.getLong (3);   }   conn.commit ();   },catch  (SQLException  e), {   e.printStackTrace ();   }   user.setId (id);   return 用户;   }      public  static  void  main (String [], args), {   JDBCDao  dao =, new  JDBCDao ();   Long  start =, System.currentTimeMillis ();   User  u =, new 用户(“安迪”,“andypwd”);   dao.SaveUser2 (u);   Long 最终获得=,System.currentTimeMillis ();   System.out.println (u.getId (), +,”——“, +, u.getUsername ());   Long  k =,最终获得成功;开始;   System.out.println(“消耗:“,+,k);   }      }


mysql和jdbc: oracle插入一条数据返回主键