基于jdbc的图书馆借阅系统

前言

每位在学校学java的同学在期末会有java课程设计,而选题很可能就是图书管理系统,此篇文章可以帮助到你。能力有限,代码有bug可以下方的评论区指明

简介

图书馆管理系统分为用户登录和管理员登录,整个系统的控制是在控制台下进行操作的。

用户层

用户可以进行注册,登录,借书,查书,密码修改,还书等功能。

管理员层

管理员可以进行对管理书籍包括新书上架,修改库存信息等功能。

系统本身

系统本身可以根据用户是否逾期进行锁定禁止借书的功能等。

需要掌握的java知识

java基础语法,容器(list),jdbc,sql语句。

po层代码

/**
 * 
 * 对数据库的操作进行单独处理,更多的逻辑更改在更高的逻辑层编写。降低耦合
 *
 */
public class LibararyDao {
   

    /**
     * 注册图书
     * @param user 注册图书信息
     * @return
     */
    public  boolean addBook(Bookinfo bookinfo){

        try {
            Connection con =JDBCutil.creatConnection();
            String sql = "insert into bookinfo (bookname,zuozhe,shuliang,shengyushuliang,date)"
                    + " values (?,?,?,?,?) ";
            PreparedStatement pre =con.prepareStatement(sql);
            pre.setString(1, bookinfo.getBookname());
            pre.setString(2, bookinfo.getZuozhe());
            pre.setInt(3, bookinfo.getShuliang());
            pre.setInt(4, bookinfo.getShuliang());
            pre.setDate(5, new java.sql.Date(bookinfo.getData().getTime()));
            pre.execute();

        } catch (SQLException e) {
            System.out.println("图书注册失败");
            e.printStackTrace();
            return false;
        }
        return true;
    }

    /**
     * 注册账号
     * @param user 注册信息
     * @return
     */
    public  boolean addUser(User user){

        try {
            Connection con =JDBCutil.creatConnection();
            String sql = "insert into userinfo (username,password,books) values (?,?,0) ";
            PreparedStatement pre =con.prepareStatement(sql);
            pre.setString(1, user.getUsername());
            pre.setString(2, user.getPassword());
            pre.execute();

        } catch (SQLException e) {
            System.out.println("注册失败");
            e.printStackTrace();
            return false;
        }
        return true;
    }


    /**
     * 查询用户
     * @param user 信息
     * @return
     */
    public ResultSet  queryUser(User user){

        try {
            Connection con =JDBCutil.creatConnection();
            String sql = "select * from userinfo where username = ? ";
            PreparedStatement pre;
            pre = con.prepareStatement(sql);
            pre.setString(1, user.getUsername());
            ResultSet r =pre.executeQuery();
            return r;
        } catch (SQLException e) {
            System.out.println("查询失败");
            e.printStackTrace();
            return null;
        }
    }


    /**
     * 更新持有书
     * @param user 信息
     * @return
     */
    public boolean  updateUserbooks(User user){

        try {
            Connection con =JDBCutil.creatConnection();
            String sql = "update userinfo set books = ? where username = ? ";
            PreparedStatement pre;
            pre = con.prepareStatement(sql);
            pre.setInt(1, user.getBooks());
            pre.setString(2, user.getUsername());
            int r =pre.executeUpdate();
            if(r>0){
                return true;
            }else{
                return false;
            }
        } catch (SQLException e) {
            System.out.println("查询失败");
            e.printStackTrace();
            return false;
        }
    }

    /**
     * 借书表中插入
     * @param username 借书人
     * @param bookname 书名
     * @return
     */
    public boolean addborrowinfo(String username,String bookname){
        try {
            Connection con =JDBCutil.creatConnection();
            String sql = "insert into borrowinfo (username,bookname,borrowdate,returndate)"
                    + " values (?,?,?,?) ";
            PreparedStatement pre;
            pre = con.prepareStatement(sql);
            pre.setString(1, username);
            pre.setString(2, bookname);
            pre.setDate(3, new java.sql.Date(new Date().getTime()));
            pre.setDate(4, new java.sql.Date(DateUtil.addMonth(new Date()).getTime()));
            pre.execute();

        } catch (SQLException e) {
            System.out.println("借书失败");
            e.printStackTrace();
            return false;
        }
        return true;
    }

    /**
     * 查书
     * @param bookname 书名
     * @return
     */
    public ResultSet queryBook(String bookname){
        try {
            Connection con =JDBCutil.creatConnection();
            String sql = "select * from bookinfo where bookname ='"+bookname+"'";
            PreparedStatement pre;
            pre = con.prepareStatement(sql);
            ResultSet r =pre.executeQuery();
            return r;
        }
        catch (SQLException e) {
            System.out.println("借书失败");
            e.printStackTrace();
            return null;
        }}
    /**
     * 查询所有的书籍
     * @return
     */
    public ResultSet queryAllBook(){
        try {
            Connection con =JDBCutil.creatConnection();
            String sql = "select * from bookinfo ";
            PreparedStatement pre;
            pre = con.prepareStatement(sql);
            ResultSet r =pre.executeQuery();
            return r;
        }
        catch (SQLException e) {
            System.out.println("借书失败");
            e.printStackTrace();
            return null;
        }
    }
    /**
     * 分页 
     * @param page
     * @return
     */
        public ResultSet querySubBookInfo(int page){
            try {

                Connection con =JDBCutil.creatConnection();
                PreparedStatement pre;
                String sql = "select * from bookinfo  limit ?,5 ";

                pre = con.prepareStatement(sql);
                pre.setInt(1, page);
                ResultSet r =pre.executeQuery();

                return r;
            }
            catch (SQLException e) {
                System.out.println("借书失败");
                e.printStackTrace();
                return null;
            }


    }
    /**
     * 数据页数  五条数据为一组
     * @return
     */
    public int  queryPageInfo(){

        try {
            int zongshu = 0;
            Connection con =JDBCutil.creatConnection();
            String sql1 = "select count(id) as cou from bookinfo ";

            Statement  sta =con.createStatement();
            ResultSet  res =sta.executeQuery(sql1);
            if(res.next())
            {
                zongshu = res.getInt("cou");
                if(zongshu == 0)return 0;
            }
            int a =0;
            if(zongshu%5==0){
                a = zongshu/5;
            }else{
                a = zongshu/5+1;
            }

            return a;
        }
        catch (SQLException e) {
            System.out.println("借书失败");
            e.printStackTrace();
            return -1;
        }

    }


    /**
     * 更新剩余数量
     * @param bookname 书名
     * @param sysl 数量
     * @return
     */
    public boolean updateBookinfo(String bookname,int sysl){
        try {
            Connection con =JDBCutil.creatConnection();

            String sql = "update bookinfo set shengyushuliang = ? where bookname = ?";
            PreparedStatement pre;
 
  • 8
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 图书管理系统是一个用于管理图书馆馆藏书籍、借阅情况、读者信息等的软件系统。基于Java和MySQL,结合JDBC技术,我们可以实现一个简单的图书管理系统。以下是一个简单的图书管理系统的源代码示例: 首先,我们需要建立一个名为“图书管理系统”的数据库,并创建三个表格:book(书籍信息)、reader(读者信息)和borrow(借阅情况)。 在Java中,我们可以使用JDBC来连接数据库并进行数据的增删改查操作。可以通过以下步骤来实现: 1. 导入JDBC和MySQL相关的库 import java.sql.*; 2. 建立与数据库的连接 Connection conn = null; conn = DriverManager.getConnection("jdbc:mysql://hostname:port/dbname", "username", "password"); 3. 查询书籍信息 Statement stmt = null; stmt = conn.createStatement(); String sql = "SELECT * FROM book"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { String bookId = rs.getString("book_id"); String bookName = rs.getString("book_name"); System.out.println("Book ID: " + bookId + ", Book Name: " + bookName); } 4. 插入书籍信息 String sql = "INSERT INTO book (book_id, book_name) VALUES (?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, "1"); pstmt.setString(2, "Java入门指南"); pstmt.executeUpdate(); 5.更新书籍信息 String sql = "UPDATE book SET book_name = ? WHERE book_id = ?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, "Java高级编程"); pstmt.setString(2, "1"); pstmt.executeUpdate(); 6.删除书籍信息 String sql = "DELETE FROM book WHERE book_id = ?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, "1"); pstmt.executeUpdate(); 以上是一个简单的图书管理系统的源代码示例,通过使用Java编程语言和JDBC技术,结合MySQL数据库,我们可以实现对图书信息的增删改查操作。当然,实际的图书管理系统可能需要涉及更多的功能和表格,但这个例子可以作为一个起点来理解如何使用JavaJDBC和MySQL来构建一个图书管理系统。 ### 回答2: 基于JavaJDBC和MySQL的图书管理系统源代码主要涉及到数据库操作、用户界面设计和业务逻辑处理等方面。 首先,我们需要建立一个MySQL数据库,用于存储图书和用户信息。可以创建两个表,一个用于存储图书信息,包括图书编号、图书名称、作者、出版社等字段;另一个用于存储用户信息,包括用户编号、用户名、密码等字段。 接下来,我们使用JDBC连接数据库并进行相的操作。可以通过编写Java代码实现数据库的增、删、改、查等功能。例如,可以编写一个类来处理图书的增加、删除和修改功能,通过输入图书信息和相的SQL语句来执行对的数据库操作。 同时,我们还需要设计一个用户界面,通过用户界面与数据库进行交互。可以使用Java的Swing或JavaFX等库来设计图形化界面,通过按钮、文本框等组件来与用户进行交互。例如,在图书添加功能中,用户可以通过界面输入图书信息,并点击“确认”按钮,将输入的图书信息添加到数据库中。 在业务逻辑处理方面,我们可以编写Java代码来实现用户登录、借阅图书、归还图书等功能。例如,用户登录时需要验证用户名和密码是否匹配,可以通过从数据库中查询用户信息,并进行验证。借阅图书时需要判断图书是否可借阅,可以通过查询图书信息并检查借阅状态来实现。归还图书时需要将借阅状态更新为已归还,并更新相的数据库记录。 总结起来,基于JavaJDBC和MySQL的图书管理系统源代码主要包括建立数据库、使用JDBC进行数据库操作、设计用户界面和编写业务逻辑处理等方面的内容。这些代码可以帮助实现一个功能完善的图书管理系统,提供方便快捷的图书管理服务。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值