日期:2014-05-16  浏览次数:20647 次

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开始。代码如下:

import java.awt.Color;
import java.awt.Frame;
import java.sql.DriverManager;
import java.sql.ResultSet;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;


public class Test {
	public static void main(String[] args) {
		
		
		 try {
				Class.forName("com.mysql.jdbc.Driver");
				Connection conn=(Connection) DriverManager
						.getConnection("jdbc:mysql://110.178.168.220:3306/zhang", "root", "zhycheng");
				//Statement st=(Statement) conn.createStatement();
				PreparedStatement ps=(PreparedStatement) conn.prepareStatement("insert into student values(?,?,?)");
				
				for(int i=5;i<100;i++)
				{
					ps.setInt(1, i);
					ps.setString(2, "test"+i);
					ps.setString(3, "男");
					ps.executeUpdate();
				}
				
			
				ps.close();
				conn.close();
				
				
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}

}