在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(){ 2 String forn="com.mysql.jdbc.Driver";//數據庫驅動 3 String url = "jdbc:mysql://localhost:3306/db_library";//連接的url 4 String user="root"; //用戶名 5 String password="root";//密碼 6 try { 7 Class.forName(forn);//注冊、加載特定的驅動程序 8 } catch (ClassNotFoundException e) { 9 JOptionPane.showMessageDialog(null,"加載數據庫失敗01"); 10 System.exit(0);//關閉整個應用 11 e.printStackTrace(); 12 } 13 try { 14 ct=DriverManager.getConnection(url,user,password);//創建連接,創建連接Connection對象 15 } catch (SQLException e1) { 16 JOptionPane.showMessageDialog(null,"加載數據庫失敗02"+e1.toString()); 17 System.exit(0);//關閉整個應用 18 e1.printStackTrace(); 19 } 20 try { 21 st=ct.createStatement();//創建會話對象,用Connection對象生成Statement對象 22 } catch (SQLException e3) { 23 JOptionPane.showMessageDialog(null,"加載數據庫失敗03"); 24 System.exit(0);//關閉整個應用 25 e3.printStackTrace(); 26 } 27 JOptionPane.showMessageDialog(null,"連接數據庫成功了"); 28 }
數據庫基本操作
查詢操作:
獲取結果第一條
1 try { 2 //執行SQL語句 3 ResultSet rex = st.executeQuery("select *from tb_books where b_id=1"); 4 //判斷是否查詢到值 5 if(rex.next()){ 6 String ss=rex.getString("字段名"); 7 JOptionPane.showMessageDialog(null,"字段數據為:"+ss); 8 } 9 } catch (SQLException e1) { 10 e1.printStackTrace(); 11 }
獲取全部結果:
1 try { 2 //執行SQL語句 3 ResultSet rex = st.executeQuery("select *from tb_books where b_id=1"); 4 //判斷是否查詢到值 5 while(rex.next()){ 6 String ss=rex.getString("字段名"); 7 JOptionPane.showMessageDialog(null,"字段數據為:"+ss); 8 } 9 } catch (SQLException e1) { 10 e1.printStackTrace(); 11 }
更新操作
executeUpdate可以執行插入、更新、刪除的SQL語句,並返回影響行數
1 try { 2 //設置更新的SQL語句 3 String sql2="update tb_test set text1='123',text2='1234' where id='1'"; 4 int ii = st.executeUpdate(sql2);//返回影響行數 5 JOptionPane.showConfirmDialog(null,"影響行數為:"+ii); 6 } catch (SQLException e1) { 7 e1.printStackTrace(); 8 }