JDBC连接数据库的实现——手把手教你搭建一个简单的图书馆管理系统一、前言图书馆管理员对图书进行管理,如图书上下架、录入图书信息等,其中包含一个丰富的数据库知识。本文利用JDBC连接数据库实现数据访问的知识,带大家打造一个简单的图书增删改查管理系统!二、项目准备操作系统:Windows开发工具:Eclipse数据库系统:MySQL编程语言:Java三、项目目标1)掌握常用SQL语句的编写2)了解数据库的加载和连接3)掌握JDBC操作以及数据库的访问方法4.项目实现(1)创建book表,如下图:(2)导入扩展包1.导入扩展包“mysql-connector-java-5.1.7-bin.jar”,右击Eclipse编辑软件的当前项目选择“BulidPath”,然后选择“ConfigureBuildPath...”,选择Libraies,右边有个“AddExternalJARs...”按钮可以添加这个扩展包,然后单击“确定”。具体操作如下图所示:(3)编写代码,如下图:Book.javapublicclassBook{//定义图书的编号、名称、出版商、价格privateStringid,name,press;privatedoubleprice;//构造方法publicBook(Stringid,Stringname,Stringpress,doubleprice){this.id=id;this.name=name;this.press=press;this.price=price;}publicStringgetId(){returnid;}publicvoidsetId(Stringid){这个.id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicStringgetPress(){returnpress;}publicvoidsetPress(Stringpress){this.press=press;}publicdoublegetPrice(){returnprice;}publicvoidsetPrice(doubleprice){this.price=price;}}在上面的代码中,首先定义了书号、名称、出版商、价格属性,然后定义了带参数的构造方法,使用accessor的set属性name()方法来设置属性,get属性名()方法获取属性。BookManager.javaimportjava.sql.*;importjava.util.Scanner;publicclassBookManager{//定义com.mysql.jdbc驱动类路径,数据库地址,用户名,密码staticStringdriver="com.mysql.jdbc.Driver";staticStringurl="jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf-8";staticStringuser="root";staticStringpwd="168168";//创建Connection、Statement、ResultSet对象staticConnectioncon;staticStatementsstmt;staticResultSetrs;publicstaticvoidmain(String[]args){BookManagerbm=newBookManager();try{Class.forName(driver);//加载驱动System.out.println("加载驱动成功!");con=DriverManager.getConnection(url,user,pwd);stmt=con.createStatement();}catch(ClassNotFoundExceptione){e.printStackTrace();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}//模块化System.out.println("1---插入书籍");System.out.println("2---删除书籍");System.out.println("3---更新书籍信息");System.out.println("4---查询图书信息");System.out.println("请输入您的选择1~4:");Scannersc=newScanner(System.in);inti=sc.nextInt();switch(i){case1:insertBook();break;case2:deleteBook();break;case3:updateBook();break;case4:queryBook();break;default:System.out.println("你的输入有误!");}}privatestaticvoidqueryBook(){//QueryStringsql="select*frombook";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(SQLExceptione){e.printStackTrace();}}privatestaticvoidupdateBook(){//修改System.out.println("请输入图书Id:");Scannersc=newScanner(System.in);Stringoldid=sc.next();System.out.println("请输入你要更新的书的Id:");Stringnewid=sc.next();Stringsql="updatebooksetid='"+newid+"'whereid='"+oldid+"'";try{stmt.executeUpdate(sql);}catch(SQLExceptione){e.printStackTrace();}System.out.println(sql);}privatestaticvoiddeleteBook(){//deleteSystem.out.println("请输入你要删除的图书Id:");Scannersc=newScanner(System.in);Stringid=sc.next();Stringsql="deletefrombookwhereid='"+id+"'";System.out.println(sql);try{stmt.executeUpdate(sql);}catch(SQLExceptione){e.printStackTrace();}}privatestaticvoidinsertBook(){//InsertScannersc=newScanner(System.in);System.out.println("请输入你要添加的图书id:");Stringid=sc.next();System.out.println("请输入您要添加的图书名称:");Stringname=sc.next();System.out.println("请输入您要添加的图书名称:");Stringpress=sc.下一个();System.out.println("请输入您要添加的书的价格:");Stringprice=sc.next();try{Bookb=newBook(id,name,press,Integer.valueOf(price));Stringsql="insertintobookvalues('"+b.getId()+"','"+b.getName()+"','"+b.getPress()+"',"+b.getPrice()+")";System.out.println(sql);stmt.executeUpdate(sql);}catch(SQLExceptione){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加载驱动,学习连接数据库。
