天天看點

Java連接配接Mysql資料庫增删改查操作

//Java連結Mysql的類
class operatedb
{
  String driverName = "com.mysql.jdbc.Driver";  //加載JDBC驅動
  String dbURL = "jdbc:mysql://127.0.0.1:3306/student";  //要連接配接的伺服器,資料庫再此未指出
  Connection dbConn;
  Statement stmt;
  public  operatedb(String userName,String userPwd)//構造器的參數指明要連接配接的資料庫、使用者名和密碼
   {
        try{
            Class.forName(driverName);
            dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
        }catch (Exception e) {
            System.out.println("connection error!");
            e.printStackTrace();
        }
	}
    
	public void anyoperate(String sqls)
	{
        try{
            stmt=dbConn.createStatement();
            stmt.execute(sqls);//将SLQ語句嵌入execute()方法中
            stmt.close() ; 
        }catch (Exception e) {
            System.out.println("anyoperate error!");
        }
	}
    
	public void insert(String sqls,String[] values)
	{
        try{
            PreparedStatement prepare=dbConn.prepareStatement(sqls); 
            for(int i=0;i<values.length;i++)
            prepare.setString(i+1,values[i]);//指定values[0]為第一個參數,也就是代替sqls中的第一個“?”,values[1]為第二個參數,以此類推
            prepare.execute();
            prepare.close();
        }catch (Exception e) {
			System.out.println(e);
        }
	}
    
	public void query(String sqls)
	{
        try{
            stmt=dbConn.createStatement();
            ResultSet rset=stmt.executeQuery(sqls);
            while(rset.next())
            {
                 for(int i=1;i<=5;i++) {
                      
                     System.out.print(rset.getString(i)+"\t");
                }
                 System.out.println(); 
                  
            }	
            rset.close() ;
            stmt.close() ; 
        }catch (Exception e) {
            System.out.println("query error!");
        }
	  }
       public void closeconn()
       { 
            try{ 
            	dbConn.close();
            }catch (Exception e) {
                 System.out.println("close error!");
            }
        }
 } 
           
//增删改查執行個體化操作
//useoperatedb.java
import java.io.*;
import java.sql.*;
public class useoperatedb
{
    public static void main(String[] srg) throws IOException
    {
        String s1,s2;
        operatedb op1=new operatedb("root","123456");
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));	
        
        /*System.out.println("請輸入要查詢的專業:");
        s2=br.readLine();
        s1="select * from st1 where major='";
        s1=s1+s2+"'";
        op1.query(s1);*/
        
        System.out.println("添加一--------------");
        String[] v={"090811203","王五","女","90-05-05","資訊"};
        s1="insert into st1 values(?,?,?,?,?)";
        op1.insert(s1,v);
        
        
        
        System.out.println("添加二--------------");
        String[] v1={"090811204","王六","男","90-06-06","計算機"};
        s1="insert into st1 values('"+v1[0]+"','"+v1[1]+"','"+v1[2]+"','"+v1[3]+"','"+v1[4]+"')";
        op1.anyoperate(s1);
        
            
        /*System.out.println("修改--------------");
        s1="update st1 set major='計算機' where major='computer'";
        op1.anyoperate(s1);*/
        
        System.out.println("删除--------------");
        s1="delete from st1  where major='計算機'";
        op1.anyoperate(s1);
         
        System.out.println("查詢--------------");
        s1="select * from st1 ";
        op1.query(s1);
        
        op1.closeconn();
	}	
}