日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JDBC連接數(shù)據(jù)庫實現(xiàn)—手把手教你打造一款簡單的圖書管理系統(tǒng)

大家好,我是Java進階者,今天給大家繼續(xù)分享JDBC技術。

創(chuàng)新互聯(lián)公司主營新洲網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,重慶App定制開發(fā),新洲h5微信平臺小程序開發(fā)搭建,新洲網(wǎng)站營銷推廣歡迎新洲等地區(qū)企業(yè)咨詢

一、前言

圖書館的管理員對書本進行管理,例如對書本的上架、下架,錄入書本信息等操作,這里面就蘊含了豐富的數(shù)據(jù)庫知識。本文通過所學的JDBC連接數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)的訪問的知識,帶大家一起來打造一款簡單的圖書的增刪改查管理系統(tǒng)!

二、項目準備

操作系統(tǒng):Windows

開發(fā)工具:Eclipse

數(shù)據(jù)庫系統(tǒng):MySQL

編程語言:Java

三、項目目標

1)掌握常用的SQL語句的寫法

2)理解數(shù)據(jù)庫的加載和連接

3)掌握JDBC對數(shù)據(jù)庫操作訪問方法

四、項目實現(xiàn)

(一)創(chuàng)建book表,如下所示:

(二)導入拓展包

1.導入拓展包“mysql-connector-java-5.1.7-bin.jar”,在Ecilpse編輯軟件的當前項目右鍵選擇“Bulid Path”,再選擇“Configure Build Path...”,選擇Libraies,在右邊有個“Add External JARs...”按鈕把這個拓展包加進來,然后點擊“OK”。具體操作如下圖所示:

(三)編寫代碼,如下所示:

Book.java

 
 
 
 
  1. public class Book { 
  2.     //定義圖書的編號、名稱、出版社、價格 
  3.     private String id,name,press; 
  4.     private double price; 
  5.     //構造方法 
  6.     public Book(String id, String name, String press, double price) { 
  7.         this.id = id; 
  8.         this.name = name; 
  9.         this.press = press; 
  10.         this.price = price; 
  11.     public String getId() { 
  12.         return id; 
  13.     public void setId(String id) { 
  14.         this.id = id; 
  15.     public String getName() { 
  16.         return name; 
  17.     public void setName(String name) { 
  18.         this.name = name; 
  19.     public String getPress() { 
  20.         return press; 
  21.     public void setPress(String press) { 
  22.         this.press = press; 
  23.     public double getPrice() { 
  24.         return price; 
  25.     public void setPrice(double price) { 
  26.         this.price = price; 
  27.   } 

在上面代碼中,首先是定義了圖書的編號、名稱、出版社、價格的屬性,之后,定義有參數(shù)的構造方法,使用訪問器的set屬性名()方法來設置屬性、get屬性名()方法來獲取屬性。

BookManager.java

 
 
 
 
  1. import java.sql.*; 
  2. import java.util.Scanner; 
  3. public class BookManager { 
  4.     //定義com.mysql.jdbc的Driver類路徑、數(shù)據(jù)庫的地址、用戶名、密碼 
  5.     static String driver ="com.mysql.jdbc.Driver"; 
  6.     static String url="jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf-8"; 
  7.     static String user="root"; 
  8.     static String pwd="168168"; 
  9.     //創(chuàng)建Connection、Statement、ResultSet對象 
  10.     static Connection con; 
  11.     static Statement stmt; 
  12.     static ResultSet rs; 
  13.     public static void main(String[] args) { 
  14.         BookManager bm=new BookManager(); 
  15.         try { 
  16.             Class.forName(driver);//加載驅(qū)動程序 
  17.             System.out.println("加載驅(qū)動成功!"); 
  18.             con=DriverManager.getConnection(url,user,pwd); 
  19.             stmt=con.createStatement(); 
  20.         } catch (ClassNotFoundException e) { 
  21.             e.printStackTrace(); 
  22.         } catch (SQLException e) { 
  23.             // TODO Auto-generated catch block 
  24.             e.printStackTrace(); 
  25.         } 
  26.         //模塊化 
  27.         System.out.println("1---插入圖書"); 
  28.         System.out.println("2---刪除圖書"); 
  29.         System.out.println("3---更新圖書信息"); 
  30.         System.out.println("4---查詢圖書信息"); 
  31.         System.out.println("請輸入你的選擇1~4:"); 
  32.         Scanner sc=new Scanner(System.in); 
  33.         int i=sc.nextInt(); 
  34.         switch(i){ 
  35.         case 1: 
  36.             insertBook();break; 
  37.         case 2: 
  38.             deleteBook();break; 
  39.         case 3: 
  40.             updateBook();break; 
  41.         case 4: 
  42.             queryBook();break; 
  43.         default: 
  44.             System.out.println("您的輸入有誤!"); 
  45.         } 
  46.     private static void queryBook(){//查詢 
  47.         String sql="select * from book"; 
  48.         try { 
  49.             rs=stmt.executeQuery(sql); 
  50.             while(rs.next()){ 
  51.                 System.out.println(rs.getString("id")); 
  52.                 System.out.println(rs.getString("name")); 
  53.                 System.out.println(rs.getString("press")); 
  54.                 System.out.println(rs.getDouble("price")); 
  55.             } 
  56.         } catch (SQLException e) { 
  57.             e.printStackTrace(); 
  58.         } 
  59.     private static void updateBook(){//修改 
  60.         System.out.println("請輸入圖書Id:"); 
  61.         Scanner sc=new Scanner(System.in); 
  62.         String oldid=sc.next(); 
  63.         System.out.println("請輸入您要更新圖書Id:"); 
  64.         String newid=sc.next(); 
  65.         String sql="update book set id='"+newid+"' where id='"+oldid+"'"; 
  66.         try { 
  67.             stmt.executeUpdate(sql); 
  68.         } catch (SQLException e) { 
  69.             e.printStackTrace(); 
  70.         } 
  71.         System.out.println(sql); 
  72.     private static void deleteBook(){//刪除 
  73.         System.out.println("請輸入您要刪除的圖書Id:"); 
  74.         Scanner sc=new Scanner(System.in); 
  75.         String id=sc.next(); 
  76.         String sql="delete from book where id='"+id+"'"; 
  77.         System.out.println(sql); 
  78.         try { 
  79.             stmt.executeUpdate(sql); 
  80.         } catch (SQLException e) { 
  81.             e.printStackTrace(); 
  82.         } 
  83.     private static void insertBook(){//插入 
  84.         Scanner sc=new Scanner(System.in); 
  85.         System.out.println("請輸入您要添加的圖書id:"); 
  86.         String id=sc.next(); 
  87.         System.out.println("請輸入您要添加的圖書name:"); 
  88.         String name=sc.next(); 
  89.         System.out.println("請輸入您要添加的圖書press:"); 
  90.         String press=sc.next(); 
  91.         System.out.println("請輸入您要添加的圖書price:"); 
  92.         String price=sc.next(); 
  93.         try { 
  94.             Book b=new Book(id,name,press,Integer.valueOf(price)); 
  95.             String sql="insert into book values('"+b.getId()+"','"+b.getName()+"','"+b.getPress()+"',"+b.getPrice()+")"; 
  96.             System.out.println(sql); 
  97.             stmt.executeUpdate(sql); 
  98.         } catch (SQLException e) { 
  99.             e.printStackTrace(); 
  100.         } 
  101.     } 

在上面代碼中,首先是定義了com.mysql.jdbc的Driver類路徑、數(shù)據(jù)庫的地址、用戶名、密碼,創(chuàng)建Connection、Statement、ResultSet對象。

接著使用Class.forName()方法來加載程序驅(qū)動,之后使用getConnection()方法和數(shù)據(jù)庫進行連接,返回一個Connection對象,在該對象的createStatement()方法創(chuàng)建一個Statement對象。

根據(jù)用戶的輸入來操作數(shù)據(jù)庫的增刪改查操作,使用switch語句來編寫,例如用戶輸入的數(shù)字是1,表示進行插入數(shù)據(jù)的操作。

在代碼中的insertBook()、deleteBook()、updateBook()、queryBook()方法分別表示插入圖書、刪除圖書、更新圖書、查詢圖書。首先是先寫相對應的MySQL語句,使用executeUpdate()方法用于插入圖書、刪除圖書、更新圖書。使用executeQuery()方法用于查詢圖書。

效果圖如下所示:

五、總結(jié)

本文基于JDBC數(shù)據(jù)庫基礎,帶大家打造了一款簡易的圖書管理系統(tǒng)。文章介紹了簡單的圖書增刪改查管理的案例,讓讀者能夠熟練的使用JDBC加載驅(qū)動程序和學會數(shù)據(jù)庫的連接。


本文名稱:JDBC連接數(shù)據(jù)庫實現(xiàn)—手把手教你打造一款簡單的圖書管理系統(tǒng)
當前路徑:http://www.dlmjj.cn/article/djoiosc.html