JDBC连接数据库实现—手把手教你打造一款简单的图书管理系统

发布时间:2025-05-15 15:06:28 作者:益华网络 来源:undefined 浏览量(2) 点赞(3)
摘要:大家好,我是Java进阶者,今天给大家继续分享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

public class Book {     //定义图书的编号、名称、出版社、价格     private String id,name,press;     private double price;     //构造方法     public Book(String id, String name, String press, double price) {         this.id = id;         this.name = name;         this.press = press;         this.price = price; }     public String getId() {         return id; }     public void setId(String id) {         this.id = id; }     public String getName() {         return name; }     public void setName(String name) {         this.name = name; }     public String getPress() {         return press; }     public void setPress(String press) {         this.press = press; }     public double getPrice() {         return price; }     public void setPrice(double price) {         this.price = price;   } }

在上面代码中,首先是定义了图书的编号、名称、出版社、价格的属性,之后,定义有参数的构造方法,使用访问器的set属性名()方法来设置属性、get属性名()方法来获取属性。

BookManager.java

import java.sql.*; import java.util.Scanner; public class BookManager {     //定义com.mysql.jdbc的Driver类路径、数据库的地址、用户名、密码     static String driver ="com.mysql.jdbc.Driver";     static String url="jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf-8";     static String user="root";     static String pwd="168168";     //创建Connection、Statement、ResultSet对象     static Connection con;     static Statement stmt;     static ResultSet rs;     public static void main(String[] args) {         BookManager bm=new BookManager();         try {             Class.forName(driver);//加载驱动程序             System.out.println("加载驱动成功!");             con=DriverManager.getConnection(url,user,pwd);             stmt=con.createStatement();         } catch (ClassNotFoundException e) {             e.printStackTrace();         } catch (SQLException e) {             // TODO Auto-generated catch block             e.printStackTrace();         }         //模块化         System.out.println("1---插入图书");         System.out.println("2---删除图书");         System.out.println("3---更新图书信息");         System.out.println("4---查询图书信息");         System.out.println("请输入你的选择1~4:");         Scanner sc=new Scanner(System.in);         int i=sc.nextInt();         switch(i){         case 1:             insertBook();break;         case 2:             deleteBook();break;         case 3:             updateBook();break;         case 4:             queryBook();break;         default:             System.out.println("您的输入有误!");         } }     private static void queryBook(){//查询         String sql="select * from book";         try {             rs=stmt.executeQuery(sql);             while(rs.next()){                 System.out.println(rs.getString("id"));                 System.out.println(rs.getString("name"));                 System.out.println(rs.getString("press"));                 System.out.println(rs.getDouble("price"));             }         } catch (SQLException e) {             e.printStackTrace();         } }     private static void updateBook(){//修改         System.out.println("请输入图书Id:");         Scanner sc=new Scanner(System.in);         String oldid=sc.next();         System.out.println("请输入您要更新图书Id:");         String newid=sc.next();         String sql="update book set id="+newid+" where id="+oldid+"";         try {             stmt.executeUpdate(sql);         } catch (SQLException e) {             e.printStackTrace();         }         System.out.println(sql); }     private static void deleteBook(){//删除         System.out.println("请输入您要删除的图书Id:");         Scanner sc=new Scanner(System.in);         String id=sc.next();         String sql="delete from book where id="+id+"";         System.out.println(sql);         try {             stmt.executeUpdate(sql);         } catch (SQLException e) {             e.printStackTrace();         } }     private static void insertBook(){//插入         Scanner sc=new Scanner(System.in);         System.out.println("请输入您要添加的图书id:");         String id=sc.next();         System.out.println("请输入您要添加的图书name:");         String name=sc.next();         System.out.println("请输入您要添加的图书press:");         String press=sc.next();         System.out.println("请输入您要添加的图书price:");         String price=sc.next();         try {             Book b=new Book(id,name,press,Integer.valueOf(price));             String sql="insert into book values("+b.getId()+","+b.getName()+","+b.getPress()+","+b.getPrice()+")";             System.out.println(sql);             stmt.executeUpdate(sql);         } catch (SQLException e) {             e.printStackTrace();         }     } }

在上面代码中,首先是定义了com.mysql.jdbc的Driver类路径、数据库的地址、用户名、密码,创建Connection、Statement、ResultSet对象。

接着使用Class.forName()方法来加载程序驱动,之后使用getConnection()方法和数据库进行连接,返回一个Connection对象,在该对象的createStatement()方法创建一个Statement对象。

根据用户的输入来操作数据库的增删改查操作,使用switch语句来编写,例如用户输入的数字是1,表示进行插入数据的操作。

在代码中的insertBook()、deleteBook()、updateBook()、queryBook()方法分别表示插入图书、删除图书、更新图书、查询图书。首先是先写相对应的MySQL语句,使用executeUpdate()方法用于插入图书、删除图书、更新图书。使用executeQuery()方法用于查询图书。

效果图如下所示:

五、总结

本文基于JDBC数据库基础,带大家打造了一款简易的图书管理系统。文章介绍了简单的图书增删改查管理的案例,让读者能够熟练的使用JDBC加载驱动程序和学会数据库的连接。

二维码

扫一扫,关注我们

声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!

您身边的【网站建设专家】

搜索千万次不如咨询1次

主营项目:网站建设,手机网站,响应式网站,SEO优化,小程序开发,公众号系统,软件开发等

立即咨询 15368564009
在线客服
嘿,我来帮您!