JDBC常見操作

1.鏈接mysql數據庫

package com.cnn;

import com.mysql.jdbc.Connection;

import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/**
 * 
 * 鏈接數據庫
 * 
 * */
public class Connect {
    public static void main(String[] args) throws Exception {
        //1.加載Driver驅動進入jvm
        Class.forName("com.mysql.jdbc.Driver");
        //數據庫鏈接地址 格式jdbc:mysql:數據庫url/數據庫名
        String url = "jdbc:mysql://localhost:3306/jdbc_learn";
        String user = "root";
        String pwd = "123456";
        Connection cnn=null;
        Statement st=null;

        try {
            //2.獲取連接對象
            cnn = (Connection) DriverManager.getConnection (url, user, pwd);

            //3.創建sql語句
            //創建一個數據表
            String sql="create table student(id int,name varchar(50),age int)";
            //創建一個“連接管道”
            st =cnn.createStatement ();

            //4.執行sql語句
            st.executeUpdate (sql);
        } catch (SQLException e) {
            e.printStackTrace ();
        
        } finally {

            //5.釋放資源
            try {
                st.close();
            } catch (SQLException e) {
                e.printStackTrace ();
            }
            try {
                cnn.close();
            } catch (Exception e) {
                e.printStackTrace ();
            }
        }
    }
}

2.插入操作 插入修改等操作 在執行的時候用executeUpdate

package com.cnn;

import com.mysql.jdbc.Connection;

import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 插入數據
 * 
 * */
public class Insert {
    public static void main(String[] args) throws Exception {
        //1.加載Driver驅動進入jvm
        Class.forName ("com.mysql.jdbc.Driver");
        String url = "jdbc:mysql://localhost:3306/jdbc_learn";
        String user = "root";
        String pwd = "123456";

        Connection cnn = null;
        Statement st= null;
        try {

            //2.獲取連接對象
            cnn = (Connection) DriverManager.getConnection (url, user, pwd);
            //3。創建sql語句
            String sql="insert into  student values (1,'zc',20)";
            //4.創建連接管道
            st = cnn.createStatement ();
            //5.執行sql語句
            //返回一個行數。插入成功一行 就返回1
            int row= st.executeUpdate (sql);
            System.out.println (row);
        } catch (SQLException e) {
            e.printStackTrace ();
        } finally {
            if(st!=null)
                try {
                    //釋放資源  先關閉這個msqql 到msql.exe的這個通道
                    st.close();
                } catch (SQLException e) {
                    e.printStackTrace ();
                }
            if(cnn!=null)
                try {
                    //關閉java到mysql的通道
                    cnn.close();
                } catch (SQLException e) {
                    e.printStackTrace ();
                }
        }



    }




}

3.查詢數據 查詢語句執行的時候用executeQuery

package  com.cnn;

import com.mysql.jdbc.Connection;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 查詢獲得多條數據
 * */


public class DQLDatasClass {
    public static void main(String[] args) throws Exception {
        //1.將Driver驅動加載進jvm
        Class.forName ("com.mysql.jdbc.Driver");
        //數據庫鏈接地址 格式 jdbc:mysql:數據庫網址/數據庫名
        String url="jdbc:mysql://localhost:3306/jdbc_learn";
        String user="root";
        String pwd="123456";
        Connection cnn=null;
        Statement st = null;

        try {
            //2.創建鏈接對象
            cnn= (Connection) DriverManager.getConnection (url,user,pwd);
            //3。創建sql語句
            String sql="select * from student";

            //創建鏈接管道
            st=cnn.createStatement ();
            //4.執行sql語句
            ResultSet res=st.executeQuery (sql);
            //如果只想要查詢返回 滿足一條的數據,那麼去掉while 變爲if就可以
            while(res.next ()){
                int id=res.getInt ("id");
                String name=res.getString ("name");
                int age=res.getInt ("age");
                System.out.println (" id= "+id+" name= "+name+" age= "+age);
            }
        } catch (SQLException e) {
            e.printStackTrace ();
        } finally {
            if(st!=null){
                try {
                	//5。釋放資源  釋放管道
                    st.close();
                } catch (SQLException e) {
                    e.printStackTrace ();
                }
            }
            if(cnn!=null){
                try {
                	//5.釋放資源  釋放連接器
                    cnn.close();
                } catch (Exception e) {
                    e.printStackTrace ();
                }
            }

        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章