动力节点笔记

 

 
  1. import java.sql.*;  
  2. import java.text.*;  
  3. import java.util.*;  
  4. //采用PreparedStatement添加数据  
  5. public class InsertTest02 {  
  6.     public static void main(String[] args) {  
  7.         if (args.length != 8) {  
  8.             throw new IllegalArgumentException("参数非法,正确使用为InsertTest01 ...");     
  9.         }  
  10.           
  11.         Connection conn = null;  
  12.         PreparedStatement pstmt = null;  
  13.         try {  
  14.             //第一步,加载数据库驱动,不同的数据库驱动程序不一样  
  15.             Class.forName("oracle.jdbc.driver.OracleDriver");  
  16.             //第二部,得到数据库连接  
  17.             String dburl = "jdbc:oracle:thin:@localhost:1521:orcl";  
  18.             //String dburl = "jdbc:oracle:thin:@192.168.21.1:1521:orcl";  
  19.             //String dburl = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";  
  20.             String userName = "system";  
  21.             String password = "wanwan";  
  22.             conn = DriverManager.getConnection(dburl, userName, password);  
  23.             //System.out.println(conn);  
  24.                       
  25.             int empno = Integer.parseInt(args[0]);  
  26.             String ename = args[1];  
  27.             String job = args[2];  
  28.             int mgr = Integer.parseInt(args[3]);  
  29.             //格式:yyyy-mm-dd  
  30.             String hiredate = args[4];  
  31.             float sal = Float.parseFloat(args[5]);  
  32.             float comm = Float.parseFloat(args[6]);  
  33.             int deptno = Integer.parseInt(args[7]);  
  34.               
  35.             //第三步,创建Statement,执行SQL语句  
  36.             //采用占位符的方式  
  37.             //最好将比较复杂的sql调通,再将sql语句和程序相结合,进行连调  
  38.             String sql = "insert into enp(empno, ename, job, mgr, hiredate, sal, comm, deptno) ";  
  39.             sql += "values(?, ?, ?, ?, ?, ?, ?, ?)";              
  40.             System.out.println("sql = " + sql);  
  41.               
  42.             pstmt = conn.prepareStatement(sql);  
  43.             pstmt.setInt(1, empno);  
  44.             pstmt.setString(2, ename);  
  45.             pstmt.setString(3, job);  
  46.             pstmt.setInt(4, mgr);  
  47.             //日期转换  
  48.             java.util.Date d = new SimpleDateFormat("yyyy-mm-dd").parse(hiredate);  
  49.             pstmt.setDate(5new java.sql.Date(d.getTime()));  
  50.             pstmt.setFloat(6, sal);  
  51.             pstmt.setFloat(7, comm);  
  52.             pstmt.setInt(8, deptno);  
  53.               
  54.             pstmt.executeUpdate();  
  55.               
  56.             System.out.println("添加员工成功");  
  57.       
  58.         } catch (ClassNotFoundException e) {  
  59.             e.printStackTrace();  
  60.         } catch (SQLException e) {  
  61.             e.printStackTrace();  
  62.         } catch (ParseException e) {  
  63.             e.printStackTrace();  
  64.         } finally {  
  65.             //注意关闭原则:从里到外  
  66.               
  67.               
  68.             try {  
  69.                 if (pstmt != null) {  
  70.                     pstmt.close();    
  71.                 }  
  72.                 if (conn != null) {  
  73.                     conn.close();  
  74.                 }  
  75.             } catch(SQLException e) {  
  76.                           
  77.             }  
  78.               
  79.         }  
  80.     }