Java高效操作MySQL


Statement可以操作数据库,但是,在需要做一些结构相似的操作时,PrepareStatement比Statement更高效。

在创建PrepareStatement的时候使用

prepareStatement(String sql),其中的sql中包含?来占位

PreparedStatement ps=(PreparedStatement) conn.prepareStatement("insert into student values(?,?,?)");

在执行SQL语句之前为每个问号赋值就行了。

使用ps.setXXX(int index,XXX xxx );

注意:index从1开始。代码如下:

  1. import java.awt.Color;  
  2. import java.awt.Frame;  
  3. import java.sql.DriverManager;  
  4. import java.sql.ResultSet;  
  5.   
  6. import com.mysql.jdbc.Connection;  
  7. import com.mysql.jdbc.PreparedStatement;  
  8. import com.mysql.jdbc.Statement;  
  9.   
  10.   
  11. public class Test {  
  12.     public static void main(String[] args) {  
  13.           
  14.           
  15.          try {  
  16.                 Class.forName("com.mysql.jdbc.Driver");  
  17.                 Connection conn=(Connection) DriverManager  
  18.                         .getConnection("jdbc:mysql://110.178.168.220:3306/zhang""root""zhycheng");  
  19.                 //Statement st=(Statement) conn.createStatement();   
  20.                 PreparedStatement ps=(PreparedStatement) conn.prepareStatement("insert into student values(?,?,?)");  
  21.                   
  22.                 for(int i=5;i<100;i++)  
  23.                 {  
  24.                     ps.setInt(1, i);  
  25.                     ps.setString(2"test"+i);  
  26.                     ps.setString(3"男");  
  27.                     ps.executeUpdate();  
  28.                 }  
  29.                   
  30.               
  31.                 ps.close();  
  32.                 conn.close();  
  33.                   
  34.                   
  35.             } catch (Exception e) {  
  36.                 // TODO Auto-generated catch block   
  37.                 e.printStackTrace();  
  38.             }  
  39.     }  
  40.   
  41. }  

相关内容