91在线一级黄片|91视频在线观看18|成人夜间呦呦网站|91资源欧美日韩超碰|久久最新免费精品视频一区二区三区|国产探花视频在线观看|黄片真人免费三级片毛片|国产人无码视频在线|精品成人影视无码三区|久久视频爱久久免费精品

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

新聞中心

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

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

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

一、前言

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

二、項(xiàng)目準(zhǔn)備

操作系統(tǒng):Windows

開(kāi)發(fā)工具:Eclipse

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

編程語(yǔ)言:Java

三、項(xiàng)目目標(biāo)

1)掌握常用的SQL語(yǔ)句的寫(xiě)法

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

3)掌握J(rèn)DBC對(duì)數(shù)據(jù)庫(kù)操作訪問(wèn)方法

四、項(xiàng)目實(shí)現(xiàn)

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

(二)導(dǎo)入拓展包

1.導(dǎo)入拓展包“mysql-connector-java-5.1.7-bin.jar”,在Ecilpse編輯軟件的當(dāng)前項(xiàng)目右鍵選擇“Bulid Path”,再選擇“Configure Build Path...”,選擇Libraies,在右邊有個(gè)“Add External JARs...”按鈕把這個(gè)拓展包加進(jìn)來(lái),然后點(diǎn)擊“OK”。具體操作如下圖所示:

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

Book.java

 
 
 
 
  1. public class Book { 
  2.     //定義圖書(shū)的編號(hào)、名稱、出版社、價(jià)格 
  3.     private String id,name,press; 
  4.     private double price; 
  5.     //構(gòu)造方法 
  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ū)的編號(hào)、名稱、出版社、價(jià)格的屬性,之后,定義有參數(shù)的構(gòu)造方法,使用訪問(wèn)器的set屬性名()方法來(lái)設(shè)置屬性、get屬性名()方法來(lái)獲取屬性。

BookManager.java

 
 
 
 
  1. import java.sql.*; 
  2. import java.util.Scanner; 
  3. public class BookManager { 
  4.     //定義com.mysql.jdbc的Driver類(lèi)路徑、數(shù)據(jù)庫(kù)的地址、用戶名、密碼 
  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對(duì)象 
  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ū)動(dòng)程序 
  17.             System.out.println("加載驅(qū)動(dòng)成功!"); 
  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---插入圖書(shū)"); 
  28.         System.out.println("2---刪除圖書(shū)"); 
  29.         System.out.println("3---更新圖書(shū)信息"); 
  30.         System.out.println("4---查詢圖書(shū)信息"); 
  31.         System.out.println("請(qǐng)輸入你的選擇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("請(qǐng)輸入圖書(shū)Id:"); 
  61.         Scanner sc=new Scanner(System.in); 
  62.         String oldid=sc.next(); 
  63.         System.out.println("請(qǐng)輸入您要更新圖書(shū)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("請(qǐng)輸入您要?jiǎng)h除的圖書(shū)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("請(qǐng)輸入您要添加的圖書(shū)id:"); 
  86.         String id=sc.next(); 
  87.         System.out.println("請(qǐng)輸入您要添加的圖書(shū)name:"); 
  88.         String name=sc.next(); 
  89.         System.out.println("請(qǐng)輸入您要添加的圖書(shū)press:"); 
  90.         String press=sc.next(); 
  91.         System.out.println("請(qǐng)輸入您要添加的圖書(shū)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類(lèi)路徑、數(shù)據(jù)庫(kù)的地址、用戶名、密碼,創(chuàng)建Connection、Statement、ResultSet對(duì)象。

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

根據(jù)用戶的輸入來(lái)操作數(shù)據(jù)庫(kù)的增刪改查操作,使用switch語(yǔ)句來(lái)編寫(xiě),例如用戶輸入的數(shù)字是1,表示進(jìn)行插入數(shù)據(jù)的操作。

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

效果圖如下所示:

五、總結(jié)

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


網(wǎng)站欄目:JDBC連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)—手把手教你打造一款簡(jiǎn)單的圖書(shū)管理系統(tǒng)
URL網(wǎng)址:http://m.jiaoqi3.com/article/djoiosc.html