Java界面開發(fā)需要與數(shù)據(jù)庫進行交互,常用的數(shù)據(jù)庫管理系統(tǒng)MySQL,本文介紹在Java界面下如何進行MySQL的增刪改查操作。
首先,需要在Java工程中引用MySQL JDBC驅(qū)動包,驅(qū)動包下載地址可以到官網(wǎng)查找并下載。
以下是Java界面進行MySQL的增刪改查代碼示例:
//增加數(shù)據(jù) try{ Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","password"); String sql = "INSERT INTO user_info (id,name,age) VALUES (?,?,?)"; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1,"001"); ps.setString(2,"張三"); ps.setInt(3,18); ps.executeUpdate(); ps.close(); conn.close(); }catch(SQLException se){ se.printStackTrace(); }catch(Exception e){ e.printStackTrace(); } //刪除數(shù)據(jù) try{ Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","password"); String sql = "DELETE FROM user_info WHERE id=?"; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1,"001"); ps.executeUpdate(); ps.close(); conn.close(); }catch(SQLException se){ se.printStackTrace(); }catch(Exception e){ e.printStackTrace(); } //修改數(shù)據(jù) try{ Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","password"); String sql = "UPDATE user_info SET age=? WHERE name=?"; PreparedStatement ps = conn.prepareStatement(sql); ps.setInt(1,20); ps.setString(2,"張三"); ps.executeUpdate(); ps.close(); conn.close(); }catch(SQLException se){ se.printStackTrace(); }catch(Exception e){ e.printStackTrace(); } //查詢數(shù)據(jù) try{ Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","password"); String sql = "SELECT * FROM user_info"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ System.out.println(rs.getString("id") + "\t" + rs.getString("name") + "\t" + rs.getInt("age")); } rs.close(); stmt.close(); conn.close(); }catch(SQLException se){ se.printStackTrace(); }catch(Exception e){ e.printStackTrace(); }
以上代碼中,首先加載MySQL JDBC驅(qū)動,然后通過DriverManager獲取與數(shù)據(jù)庫的連接。insert語句使用PreparedStatement預(yù)編譯語句,可有效防止SQL注入攻擊,同時提高SQL執(zhí)行效率。delete、update語句也有同樣的編寫方式。select語句使用Statement來執(zhí)行,返回的ResultSet可用于遍歷查詢結(jié)果。
需要注意的是,在進行數(shù)據(jù)庫操作時,往往需要將執(zhí)行的語句通過日志輸出到控制臺或者到日志文件,方便調(diào)試和運維。同時,還需要考慮線程安全問題,避免多線程并發(fā)訪問數(shù)據(jù)庫時出現(xiàn)的異常。