Java資料庫操作(MySQL與SQLserver)
在java程式設計開發中,資料庫的開發是重頭戲。
MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品;
SQL Server是由Microsoft開發和推廣的關係資料庫管理系統(DBMS)。
Jar包下載
java資料庫的連線需要依賴外部jar包,所以需要下載後進行:構建路徑->配置構建路徑->庫->新增JAR->應用->確定
SQLserver:
https://blog-static.cnblogs.com/files/dongxiaodong/sqlserverdb.zip
MySQL:
https://blog-static.cnblogs.com/files/dongxiaodong/mysqldb.zip
連線儲備
連線資料庫最重要的地方就是確定其資料庫驅動和URL
SQLserver:
String forn="com.microsoft.sqlserver.jdbc.SQLServerDriver";//資料庫驅動 String url = "jdbc:sqlserver://172_16_0_6:1433;databaseName=mydbname ";//連線的url
MySQL:
String forn="com.mysql.jdbc.Driver";//資料庫驅動 String url = "jdbc:mysql://localhost:3306/mydbname ";//連線的url
資料庫連線
匯入模組
import java.sql.*
建立類屬性
private Connection ct=null; private Statement st=null;
資料庫連線函式
1 private void Db(){ 2String forn="com.mysql.jdbc.Driver";//資料庫驅動 3String url = "jdbc:mysql://localhost:3306/db_library";//連線的url 4String user="root";//使用者名稱 5String password="root";//密碼 6try { 7Class.forName(forn);//註冊、載入特定的驅動程式 8} catch (ClassNotFoundException e) { 9JOptionPane.showMessageDialog(null,"載入資料庫失敗01"); 10System.exit(0);//關閉整個應用 11e.printStackTrace(); 12} 13try { 14ct=DriverManager.getConnection(url,user,password);//建立連線,建立連線Connection物件 15} catch (SQLException e1) { 16JOptionPane.showMessageDialog(null,"載入資料庫失敗02"+e1.toString()); 17System.exit(0);//關閉整個應用 18e1.printStackTrace(); 19} 20try { 21st=ct.createStatement();//建立會話物件,用Connection物件生成Statement物件 22} catch (SQLException e3) { 23JOptionPane.showMessageDialog(null,"載入資料庫失敗03"); 24System.exit(0);//關閉整個應用 25e3.printStackTrace(); 26} 27JOptionPane.showMessageDialog(null,"連線資料庫成功了"); 28 }
資料庫基本操作
查詢操作:
獲取結果第一條
1 try { 2//執行SQL語句 3ResultSet rex = st.executeQuery("select *from tb_books where b_id=1"); 4//判斷是否查詢到值 5if(rex.next()){ 6String ss=rex.getString("欄位名"); 7JOptionPane.showMessageDialog(null,"欄位資料為:"+ss); 8} 9 } catch (SQLException e1) { 10e1.printStackTrace(); 11 }
獲取全部結果:
1 try { 2//執行SQL語句 3ResultSet rex = st.executeQuery("select *from tb_books where b_id=1"); 4//判斷是否查詢到值 5while(rex.next()){ 6String ss=rex.getString("欄位名"); 7JOptionPane.showMessageDialog(null,"欄位資料為:"+ss); 8} 9 } catch (SQLException e1) { 10e1.printStackTrace(); 11 }
更新操作
executeUpdate可以執行插入、更新、刪除的SQL語句,並返回影響行數
1 try { 2//設定更新的SQL語句 3String sql2="update tb_test set text1='123',text2='1234' where id='1'"; 4int ii = st.executeUpdate(sql2);//返回影響行數 5JOptionPane.showConfirmDialog(null,"影響行數為:"+ii); 6 } catch (SQLException e1) { 7e1.printStackTrace(); 8 }