201621123061《Java課程設計》第14次學習總結

1. 本週學習總結

1.1 以你喜歡的方式(思惟導圖或其餘)概括總結與數據庫相關內容。

2. 使用數據庫技術改造你的系統

2.1 簡述如何使用數據庫技術改造你的系統。要創建什麼表?截圖你的表設計。

系統所須要的信息都存儲在數據庫中,例如圖書信息、讀者信息、借閱信息等,要對這些信息進行操做,就必須鏈接數據庫,爲了省去每次操做都要編寫鏈接數據庫程序,咱們把鏈接數據庫操做封裝到一個類jdbcfile.java中,在不一樣的模塊中調用這個類就能夠對數據庫進行鏈接,執行相應的數據庫操做 表:圖書信息表、讀者信息表、借閱信息表等。
javascript

2.2 系統中使用到了JDBC中什麼關鍵類?

DriverManager、Connection、Statement、resultSetjava

2.3 截圖數據庫相關模塊的關鍵代碼。關鍵行須要加註釋。

import java.sql.*;
 public class jdbcfile {
    
    Connection conn;
    Statement stmt;
    int inorupdatevalue=-1;

    //聲明構造方法,並拋出異常
    public jdbcfile() throws Exception  {
        try{
            String drivername="jdbc.MySQLDriver";
            String dbURL = "jdbc:mysql://localhost:1489/test";
            //加載驅動程序
            Class.forName(drivername);
            //建立數據庫鏈接Connection對象
            conn=DriverManager.getConnection(dbURL, "chenjinxia", "chenjinxia123");
            //建立Statement對象
            stmt=conn.createStatement();
        }catch(ClassNotFoundException e){
            //捕獲異常
            throw new Exception("數據庫驅動未找到"+e.getMessage()); 
        }catch(SQLException e){
            //捕獲異常
            throw new Exception("數據庫未鏈接"+e.getMessage()); 
        }
    }
    //定義查詢數據的方法
    public synchronized  ResultSet executeQuery(String sql) throws Exception{
        ResultSet rs=stmt.executeQuery(sql);
        return rs;
    }
    //定義插入數據的方法
    public synchronized int insert(String sql) throws Exception {
        inorupdatevalue=stmt.executeUpdate(sql);
        return inorupdatevalue;
    }
    //定義修改數據的方法
    public synchronized int update(String sql) throws Exception {
        inorupdatevalue=stmt.executeUpdate(sql);
        return inorupdatevalue;
    }
    //定義刪除數據的方法
    public synchronized int del(String sql) throws Exception {
        inorupdatevalue=stmt.executeUpdate(sql);
        return inorupdatevalue;
    }
    //定義關閉數據庫鏈接的方法
    public void close() throws Exception{
        conn.close();
    }
}
//建立數據庫鏈接
                    jdbcfile conn=new jdbcfile();
                    //產生登陸sql語句
                    sqlStr="select * from Admin where num='"+str1+"'and password='"+str2+"'";
                    ResultSet result=conn.executeQuery(sqlStr); 
                    if(result.next()){
                        //彈出對話框提示登陸成功
                        JOptionPane.showMessageDialog(frame,"登陸成功!");
                        //打開圖書管理主頁面
                        bookmain bookmain1=new bookmain();
                        bookmain1.go();
                        //關閉登陸窗口
                        frame.dispose();
                        //關閉數據庫鏈接
                        conn.close();   
                    }else{
                        JOptionPane.showMessageDialog(frame,"用戶名或密碼錯誤");
                    }
                    
                }else if(obj.equals(Cancel_btn)){
                    //點擊取消按鈕
                    System.exit(0);
                }
            }catch(ClassNotFoundException ce){
                //捕獲異常
                System.out.println("SQLException:"+ce.getMessage());    
            }
            catch(SQLException ex){
                //捕獲異常
                System.out.println(ex);
            }
            catch (Exception s) {
                //捕獲異常
                s.printStackTrace();
            }
        }
     }

2. 書面做業

1. MySQL數據庫基本操做

創建數據庫,將本身的姓名、學號做爲一條記錄插入。(截圖,需出現本身的學號、姓名)
mysql

在本身創建的數據庫上執行常見SQL語句(截圖)
sql

2. 使用JDBC鏈接數據庫與Statement

2.1 使用Statement操做數據庫。完成實驗任務書-題目2。截圖其中的public static void displayAll()與public static int insert(Student stu)的關鍵代碼並出現本身的學號。

2.2 若是要完成根據指定姓名查詢學生數據,即完成函數public Student findStuByName(String name),其中的sql語句怎麼寫?

2.3 你認爲使用JDBC操做數據庫的套路是什麼?

相關文章
相關標籤/搜索