成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JDBC連接數據庫實現—手把手教你打造一款簡單的圖書管理系統

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

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

一、前言

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

二、項目準備

操作系統:Windows

開發工具:Eclipse

數據庫系統:MySQL

編程語言:Java

三、項目目標

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

2)理解數據庫的加載和連接

3)掌握JDBC對數據庫操作訪問方法

四、項目實現

(一)創建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.   } 

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

BookManager.java

  1. import java.sql.*; 
  2. import java.util.Scanner; 
  3. public class BookManager { 
  4.     //定義com.mysql.jdbc的Driver類路徑、數據庫的地址、用戶名、密碼 
  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.     //創建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);//加載驅動程序 
  17.             System.out.println("加載驅動成功!"); 
  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類路徑、數據庫的地址、用戶名、密碼,創建Connection、Statement、ResultSet對象。

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

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

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

效果圖如下所示:

五、總結

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

 

責任編輯:姜華 來源: Java進階學習交流
相關推薦

2021-02-01 08:41:06

Java考試系統

2021-02-04 15:52:46

Java考試系統

2022-02-17 10:26:17

JavaScript掃雷游戲前端

2023-05-22 10:04:24

2021-12-30 08:56:57

Python摸魚倒計界面Python基礎

2021-11-01 10:26:07

CanvasAPI畫布技術HTML5

2021-01-04 09:55:26

Java移動互聯網

2022-01-24 11:02:27

PySimpleGUPython計算器

2021-01-05 09:04:20

Javatxt文件

2017-09-14 09:09:04

php應用LibreOfficeWord轉HTML

2020-11-27 07:38:43

MongoDB

2022-01-02 07:00:48

Python

2018-09-09 15:38:55

SD-WAN網絡WAN

2011-06-28 12:58:44

表分區

2021-01-10 08:14:01

Go語言TCP掃描器

2021-01-13 09:03:48

Java游戲函數

2021-01-12 05:05:15

Java對碰游戲

2016-11-01 09:46:04

2023-04-26 12:46:43

DockerSpringKubernetes

2022-01-08 20:04:20

攔截系統調用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品极品视频在线观看免费 | 最近免费日本视频在线 | 在线一区| 国产黄色大片 | 成人国产精品久久 | 夜夜草导航| 99精品网站 | 99国产视频| av激情在线 | 少妇一级淫片免费播放 | 久在线观看| 国产一区在线免费观看 | av网站免费在线观看 | 久久一二| 精品久久一区 | 69视频在线播放 | 免费观看黄a一级视频 | 成人精品免费 | 四虎在线观看 | 久久久久久成人 | 国产精品久久久久久久午夜片 | 久久av资源网 | 亚洲精品麻豆 | 亚洲精品乱码久久久久久按摩 | 国产一区二区三区精品久久久 | 亚洲免费高清 | 欧美成人在线免费 | 国产精品69久久久久水密桃 | 一区二区小视频 | 伊人春色成人网 | 久久精品久久精品久久精品 | 国产精品乱码一区二区三区 | 日韩精品视频一区二区三区 | 亚洲国产网 | 亚洲一区二区免费视频 | 午夜在线影院 | 国产精品一二三区 | 日韩在线播放一区 | 天堂亚洲| 国产精品不卡 | 亚洲视频免费一区 |