JDBC数据库简单实现图书系统管理(增删改查)

package Gadgets;
import java.sql.*;
import java.util.ArrayList;

//数据库管理图书馆增删改查
public class Library {
        public static String url="jdbc:mysql://localhost:3306/jdbc";
        public static String username="root";
        public static String password="root";
        static Connection conn=null;
        static Statement stmt=null;
        static PreparedStatement preStmt=null;
        static ResultSet rs=null;

        //主函数
       public static void main(String[] args) throws SQLException{
            try{
                conn=DriverManager.getConnection(url,username,password);
//                //虽然可以直接用create table创建,但是我喜欢这样
//                ArrayList<String> arrayList=new ArrayList<>();
//                arrayList.add("《放学后》");
//                arrayList.add("《秘密》");
//                arrayList.add("《名侦探的守则》");
//                arrayList.add("《单恋》");
//                arrayList.add("《白夜行》");
//                arrayList.add("《幻夜》");
//                arrayList.add("《流星之拌》");
//                arrayList.add("《嫌疑人X的献身》");
//                arrayList.add("《解忧杂货店》");
//                arrayList.add("《新参者》");
//                for(int i=0;i<arrayList.size();i++){
//                    Insert(i+1, arrayList.get(i));
//                }
                //Taverse();
                Insert(11, "《美丽新世界》");
                Delete(6);
                Upgrade(5,"《黑夜行》");
                //Taverse();
            }catch (Exception e){
                    e.printStackTrace();
            }finally {
                if(conn!=null) conn.close();
                if(stmt!=null) stmt.close();
                if(preStmt!=null) preStmt.close();
                if(rs!=null) rs.close();
            }
        }


        //这里因为要用变量,所以要预编译SQL语句,改用PreparedStatement接口(踩了半天坑才知道这玩意)

        //增
        public static void Insert(int num,String bname) throws SQLException {
            String sql="INSERT INTO Library VALUES(?,?)";
            preStmt = conn.prepareStatement(sql);       //用占位符预编译
            preStmt.setInt(1,num);
            preStmt.setString(2,bname);
            preStmt.executeUpdate();                    //设置好了参数就执行
            System.out.println("插入成功!");
        }
        //删
        public static void Delete(int num) throws SQLException {
            String sql="DELETE FROM Library WHERE id=?";
            preStmt= conn.prepareStatement(sql);
            preStmt.setInt(1,num);
            preStmt.executeUpdate();
            System.out.println("删除成功!");
        }
        //改
       public static void Upgrade(int num, String bname) throws SQLException{
           String sql="UPDATE Library SET name=? WHERE id=?";
           preStmt= conn.prepareStatement(sql);
           preStmt.setString(1,bname);
           preStmt.setInt(2,num);
           preStmt.executeUpdate();
           System.out.println("修改成功!");;
       }
        //查
        public static void Taverse() throws SQLException {
            stmt=conn.createStatement();
            rs=stmt.executeQuery("select * from library");
            int id;String name;
            while(rs.next()){
                id=rs.getInt("id");
                name=rs.getString("name");
                System.out.println(id+" "+name);
            }
            System.out.println("查找完成!");
        }

}

  • 3
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单图书管理系统的Java代码示例,用于连接数据库实现增删功能: 1. 连接数据库: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBConnection { private static final String URL = "jdbc:mysql://localhost:3306/library"; private static final String USERNAME = "root"; private static final String PASSWORD = "password"; public static Connection getConn() { Connection conn = null; try { conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); } catch (SQLException e) { e.printStackTrace(); } return conn; } public static void close(Connection conn) { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } ``` 2. 添加图书: ```java import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class BookDao { public int addBook(Book book) { int flag = 0; Connection conn = null; PreparedStatement pst = null; try { conn = DBConnection.getConn(); String sql = "INSERT INTO books (title, author, price) VALUES (?, ?, ?)"; pst = conn.prepareStatement(sql); pst.setString(1, book.getTitle()); pst.setString(2, book.getAuthor()); pst.setDouble(3, book.getPrice()); flag = pst.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { DBConnection.close(conn); } return flag; } } ``` 3. 删除图书: ```java import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class BookDao { public int deleteBook(int id) { int flag = 0; Connection conn = null; PreparedStatement pst = null; try { conn = DBConnection.getConn(); String sql = "DELETE FROM books WHERE id = ?"; pst = conn.prepareStatement(sql); pst.setInt(1, id); flag = pst.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { DBConnection.close(conn); } return flag; } } ``` 4. 修图书信息: ```java import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class BookDao { public int updateBook(Book book) { int flag = 0; Connection conn = null; PreparedStatement pst = null; try { conn = DBConnection.getConn(); String sql = "UPDATE books SET title = ?, author = ?, price = ? WHERE id = ?"; pst = conn.prepareStatement(sql); pst.setString(1, book.getTitle()); pst.setString(2, book.getAuthor()); pst.setDouble(3, book.getPrice()); pst.setInt(4, book.getId()); flag = pst.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { DBConnection.close(conn); } return flag; } } ``` 5. 图书: ```java import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class BookDao { public List<Book> getAllBooks() { List<Book> bookList = new ArrayList<>(); Connection conn = null; PreparedStatement pst = null; ResultSet rs = null; try { conn = DBConnection.getConn(); String sql = "SELECT * FROM books"; pst = conn.prepareStatement(sql); rs = pst.executeQuery(); while (rs.next()) { int id = rs.getInt("id"); String title = rs.getString("title"); String author = rs.getString("author"); double price = rs.getDouble("price"); Book book = new Book(id, title, author, price); bookList.add(book); } } catch (SQLException e) { e.printStackTrace(); } finally { DBConnection.close(conn); } return bookList; } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值