您现在的位置是:亿华云 > IT科技类资讯
JDBC连接数据库实现—手把手教你打造一款简单的图书管理系统
亿华云2025-10-05 18:12:47【IT科技类资讯】2人已围观
简介大家好,我是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加载驱动程序和学会数据库的连接。
很赞哦!(5)
相关文章
- 要如何了解反向解析和域名解析?新手该怎么去操作?
- 英特尔扩展至强6产品组合,AI性能飙升2倍,网络性能飞跃
- 浪潮云洲工业互联网平台V6.0正式发布
- AMD豪掷49亿美元收购最大服务器制造商!原因竟是太缺人!CEO苏姿丰回应,打法跟英伟达果真不一样!
- 2016年1月1日:注册价格将降至每年7欧元。
- 2024年及以后影响数据中心的主要趋势和技术
- 零基础教你自建MQTT服务器并实现双向通讯
- 联想正式发布三大服务器新品,从云到端加速布局IT基础设施
- 付款完成后,您只需耐心等待,如果您注册成功,系统会提示您。这里需要注意的是,域名是一个即时产品,只有在最终付款成功时才能预订,注册成功后不能更改。
- 2024年值得关注的数据中心治理趋势