自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JDBC連接數(shù)據(jù)庫實(shí)現(xiàn)—手把手教你打造一款簡單的圖書管理系統(tǒng)

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

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

一、前言

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

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

操作系統(tǒng):Windows

開發(fā)工具:Eclipse

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

編程語言:Java

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

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

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

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

四、項(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)來,然后點(diǎn)擊“OK”。具體操作如下圖所示:

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

Book.java

  1. public class Book { 
  2.     //定義圖書的編號(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.   } 

在上面代碼中,首先是定義了圖書的編號(hào)、名稱、出版社、價(jià)格的屬性,之后,定義有參數(shù)的構(gòu)造方法,使用訪問器的set屬性名()方法來設(shè)置屬性、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對(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---插入圖書"); 
  28.         System.out.println("2---刪除圖書"); 
  29.         System.out.println("3---更新圖書信息"); 
  30.         System.out.println("4---查詢圖書信息"); 
  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)輸入圖書Id:"); 
  61.         Scanner sc=new Scanner(System.in); 
  62.         String oldid=sc.next(); 
  63.         System.out.println("請(qǐng)輸入您要更新圖書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除的圖書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)輸入您要添加的圖書id:"); 
  86.         String id=sc.next(); 
  87.         System.out.println("請(qǐng)輸入您要添加的圖書name:"); 
  88.         String name=sc.next(); 
  89.         System.out.println("請(qǐng)輸入您要添加的圖書press:"); 
  90.         String press=sc.next(); 
  91.         System.out.println("請(qǐng)輸入您要添加的圖書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對(duì)象。

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

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

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

效果圖如下所示:

五、總結(jié)

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

 

責(zé)任編輯:姜華 來源: Java進(jìn)階學(xué)習(xí)交流
相關(guān)推薦

2021-02-01 08:41:06

Java考試系統(tǒng)

2021-02-04 15:52:46

Java考試系統(tǒng)

2022-02-17 10:26:17

JavaScript掃雷游戲前端

2023-05-22 10:04:24

2021-12-30 08:56:57

Python摸魚倒計(jì)界面Python基礎(chǔ)

2021-11-01 10:26:07

CanvasAPI畫布技術(shù)HTML5

2021-01-04 09:55:26

Java移動(dòng)互聯(lián)網(wǎng)

2022-01-24 11:02:27

PySimpleGUPython計(jì)算器

2021-01-05 09:04:20

Javatxt文件

2017-09-14 09:09:04

php應(yīng)用LibreOfficeWord轉(zhuǎn)HTML

2020-11-27 07:38:43

MongoDB

2022-01-02 07:00:48

Python

2018-09-09 15:38:55

SD-WAN網(wǎng)絡(luò)WAN

2011-06-28 12:58:44

表分區(qū)

2021-01-10 08:14:01

Go語言TCP掃描器

2021-01-13 09:03:48

Java游戲函數(shù)

2023-04-26 12:46:43

DockerSpringKubernetes

2021-11-10 11:40:42

數(shù)據(jù)加解密算法

2016-11-01 09:46:04

2021-01-12 05:05:15

Java對(duì)碰游戲
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)