Java - Java 連線 SQL
阿新 • • 發佈:2020-12-16
Java 連線SQL
資料庫連線
import java.sql.*; // 全部匯入 public class DemoFrame{ public static Connection conn = null; public static Statement stmt = null; // 儘管將stmt設為全域性比較方便,但一個stmt使用多次可能會出現錯誤(rs未關閉),此時應該先寫rs.last(); // 更好的方法,是將stmt 設為區域性變數,每次需要執行新語句都重新建立stmt // Statement stmt1 = conn.createStatement(); // ResultSet rs = stmt1.executeQuery(...); public static void main(String[] args){ try{ // 連線資料庫 conn = DriverManager.getConnection("jdbc:mysql://localhost/myshop?serverTimezone=GMT%2B8&characterEncoding=utf8","root", ""); EventQueue.invokeLater(new Runnable() { public void run() { try { DemoFrame frame = new Hahah(); // 建立視窗 frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); }catch(SQLException ex){ // 輸出提示資訊 JOptionPane.showConfirmDialog(null,"發生意外錯誤","系統訊息",JOptionPane.CLOSED_OPTION); ex.printStackTrace(); } } };
資料庫操縱
- 查詢操作
stmt.executeQuery("..."); /* MySQL語法格式: select * from [table_name] where [boolean expression] e.g: 查詢商品名為'小汽車'的商品資訊 MySQL: select * from items where 名稱='小汽車' Java: Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from items where 名稱='小汽車'"); */
- 插值操作
stmt.executeUpdate("...");
/*
MySQL語法格式:
insert into [table_name] values(a,b,c,d,e,...)
e.g: 插入一條商品資訊
MySQL: insert into items values('001','小汽車',100,100,0);
Java:
Statement stmt = conn.createStatement();
stmt.executeUpdae("insert into items values('001','小汽車',100,100,0)");
*/
- 改值操作
stmt.executeUpdate("...") /* MySQL語法格式: update [table_name] set [c1]=[v1],[c2=v2],... where [boolean expression] e.g: 修改商品編號為001的商品,使其價格變為100,庫存變為200 MySQL: update items set 單價=100 where 編號='001' Java: Statement stmt = conn.createStatement(); stmt.executeUpdate("update items set 單價=10,庫存=200 where 編號='001'"); */
ResultSet 使用
這一部分很簡單,不需要了解太多
ResultSet rs = stmt.executeQuery("..."); // 獲取方式
while(rs.next()){
// rs.getString( cNum )
// rs.getInt( cNum )
}
只有一點需要注意,rs在呼叫get()方法之前,一定要執行.next()