java图书管理系统

package Librarymanagement;

import dao_.damin.Administrator;
import dao_.damin.books;
import dao_.damin.read;
import dao_.dao.AdministratorDAO;

import java.util.List;
import java.util.Scanner;

public class login {
    public static void main(String[] args) {
        AdministratorDAO actorDAO = new AdministratorDAO();
        System.out.println("欢迎使用图书管理系统");
        Scanner input = new Scanner(System.in);
        boolean look=true;
        while (look) {
        System.out.println("请输入用户名:");
        String name=input.nextLine();
        System.out.println("请输入密 码:");
        String password=input.nextLine();
        Administrator actor = actorDAO.querySingle("select * from administrator where naem =? and password=?",Administrator.class,name,password);
            if (actor != null) {
                System.out.println("恭喜你登录成功");
                look =false;
            } else {
                System.out.println("登录失败");
            }
        }
            System.out.println("欢迎使用图书管理系统,请选择服务");
        while (true) {
            System.out.println("1.添加图书\n2.查找图书\n3.删除图书\n4.查看全部\n5.更改图书\n6.借阅删除\n7.借阅历史\n8.添加借阅\n9.退出程序");
            int serve = input.nextInt();
            switch (serve) {
                case 1:
                    System.out.println("请输入要添加的图书名称");
                    String books1 = input.next();
                    System.out.println("请输入要添加的作者");
                    String books2 = input.next();
                    System.out.println("请输入要添加的价格");
                    double books3 = input.nextDouble();
                    int add = Addto.add(books1, books2, books3);
                    System.out.println(add > 0 ? "添加成功" : "添加失败");
                    break;
                case 2:
                    System.out.println("1.根据图书编号查询");
                    System.out.println("2.根据图书名称查询");
                    int serve2 = input.nextInt();
                    int serve3 = 0;
                    if (serve2 == 1) {
                        System.out.println("请输入图书编号");
                        serve3 = input.nextInt();
                        books find = Addto.Find(serve3);
                        System.out.println(find);
                    } else if (serve2 == 2) {
                        System.out.println("请输入图书名称");
                        String serve4 = input.next();
                        books books = Addto.Find2(serve4);
                        System.out.println(books);
                    } else {
                        System.out.println("请输入正确的数");
                    }
                    break;
                case 3:
                    System.out.println("请输入你要删除的图书编号");
                    int delete = Addto.delete(input.nextInt());
                    System.out.println(delete > 0 ? "删除成功" : "删除失败");
                    break;
                case 4:
                    List<books> all = Addto.all();
                    for(books b:all){
                        System.out.println(b);
                    }
                    break;
                case 5:
                    System.out.println("请输入要更改数据的图书编号:");
                    int change = input.nextInt();
                    System.out.println("1.更改名称\n2.更改作者\n3.更改价格");
                    int i= input.nextInt();
                    double price=0;
                    int change1=0;
                    if(i==1){
                        System.out.println("请输入要改成的名字");
                        change1 = Addto.Change(input.next(), i, change, price);
                    }else if(i==2){
                        System.out.println("请输入要改成的作者名");
                        change1=Addto.Change(input.next(), i,change,price);
                    }else if(i==3){
                        System.out.println("请输入要改成的价格");
                        price= input.nextDouble();
                        change1=Addto.Change(null,i,change,price);
                    }else {
                        System.out.println("输入错误");
                    }
                    System.out.println(change1>0?"更改成功":"更改失败");
                    break;

                case 6:
                    System.out.println("请输入您要删除的姓名");
                    int delete1 = read1.delete(input.next());
                    System.out.println(delete1>0?"删除成功":"删除失败");
                    break;
                case 7:
                    List<read> add1 = read1.add();
                    for(read a:add1){
                        System.out.println(a);
                    }
                    break;
                case 8:
                    System.out.println("请输入要添加的姓名:");
                    String b= input.next();
                    System.out.println("请输入要添加的图书名称:");
                    String b1= input.next();
                    System.out.println("请输入借阅时间/月/日:");
                    String b2= input.next();
                    int increase = read1.increase(b,b1,b2);
                    System.out.println(increase>0?"添加成功":"添加失败");
                    break;
                case 9:
                    System.exit(1);
                default:
                    System.out.println("输入错误");
            }
        }
    }
}
package Librarymanagement;

import dao_.damin.read;
import dao_.dao.readDAO;

import java.util.List;

public class read1 {
    private static readDAO readDAO1 = new readDAO();
    public static int delete(String name){
        int update = readDAO1.update("delete from `read` where name=?",name);
        return update;
    }
    public static List<read> add(){
        return readDAO1.queryMulti("select * from `read`", read.class);
    }
    public static int increase(String name,String name2,String name3){
        int update = readDAO1.update("insert into `read`values(?,?,?)",name,name2,name3);
        return update;
    }
}
package Librarymanagement;

import dao_.damin.books;
import dao_.dao.BooksDAO;

import java.util.List;

public class Addto {
    private static BooksDAO booksDAO = new BooksDAO();

    public static int add(String books1, String books2, double books3) {
        int update = booksDAO.update("insert into `Books`values(null,?,?,?)",books1,books2,books3);
        return update;
    }
    public static books Find(int books4){
        books books = booksDAO.querySingle("select * from `Books` where id=?", dao_.damin.books.class,books4);
        return books;
    }
    public static books Find2(String name){
        books books = booksDAO.querySingle("select * from `Books` where name=?", dao_.damin.books.class,name);
        return books;
    }
    public static int delete(int numbering){
        int update = booksDAO.update("delete from Books where id=?",numbering);
        return update;
    }
    public static List<books>  all(){
        return booksDAO.queryMulti("select * from books", books.class);
    }

    public static int Change(String name,int i,int change,double price) {
        String sql = "";
        int update=0;
        if (i == 1) {
            sql = "update books set name=? where id=?";
            update = booksDAO.update(sql, name, change);
        } else if (i == 2) {
            sql = "update books set Booksname=? where id=?";
            update = booksDAO.update(sql, name, change);
        } else if (i == 3) {
            sql = "update books set price=? where id=?";
            update = booksDAO.update(sql, price, change);
        }
        return update;
    }
}
import org.apache.commons.dbutils.handlers.ScalarHandler;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;

//开发BasicDAO,是其他DAO的父类
public class BasicDAO<T> {//泛型指定具体的类型
    private QueryRunner queryRunner = new QueryRunner();

    //开发通用的dml操作方法,针对任意的表
    public int update(String sql,Object...parameters){
        Connection connection = null;

        try {
            connection  = jdbcUtil.getConnection();
            int update = queryRunner.update(connection, sql, parameters);
            return update;
        } catch (SQLException e) {
            throw  new RuntimeException(e);//将编译异常转成运行异常抛出去
        } finally {
            jdbcUtil.close(null,null,connection);
        }

    }
    //返回多行对象(即查询的结果是多行),针对任意的表
    public List<T> queryMulti(String sql , Class<T> tClass, Object...parameters){
        Connection connection=null;
        try {
            connection  = jdbcUtil.getConnection();
            return queryRunner.query(connection,sql,new BeanListHandler<T>(tClass),parameters);
        } catch (SQLException e) {
            throw  new RuntimeException(e);//将编译异常转成运行异常抛出去
        } finally {
            jdbcUtil.close(null,null,connection);
        }
    }
    //查询单行结果的通用方法
    //T泛型
    public T querySingle(String sql,Class<T> tClass,Object...parameters){
        Connection connection=null;
        try {
            connection  = jdbcUtil.getConnection();
            return queryRunner.query(connection,sql,new BeanHandler<T>(tClass),parameters);
        } catch (SQLException e) {
            throw  new RuntimeException(e);//将编译异常转成运行异常抛出去
        } finally {
            jdbcUtil.close(null,null,connection);
        }
    }
    //查询单行单列的方法,即返回单值的方法ScalarHandler
    public Object queryScalar(String sql ,Object...parameters){
        Connection connection=null;
        try {
            connection  = jdbcUtil.getConnection();
            return queryRunner.query(connection,sql,new ScalarHandler(),parameters);
        } catch (SQLException e) {
            throw  new RuntimeException(e);//将编译异常转成运行异常抛出去
        } finally {
            jdbcUtil.close(null,null,connection);
        }
    }
}
package dao_.damin;

public class read {
    private String name;
    private String author;
    private String Time;

    public read() {
    }

    public read(String name, String author, String time) {
        this.name = name;
        this.author = author;
        Time = time;
    }

    public String getName() {
        return name;
    }

    public String getAuthor() {
        return author;
    }

    public String getTime() {
        return Time;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public void setTime(String time) {
        Time = time;
    }

    @Override
    public String toString() {
        return "read{" +
                "name='" + name + '\'' +
                ", author='" + author + '\'' +
                ", Time='" + Time + '\'' +
                '}';
    }
}
package dao_.damin;

public class books {
    private int id;
    private String name;
    private String booksname;
    private double price;

    public books() {
    }

    public books(int id, String name, String booksname, double price) {
        this.id = id;
        this.name = name;
        this.booksname = booksname;
        this.price = price;
    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public String getBooksname() {
        return booksname;
    }

    public double getPrice() {
        return price;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setBooksname(String booksname) {
        this.booksname = booksname;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    @Override
    public String toString() {
        return "books{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", booksname='" + booksname + '\'' +
                ", price=" + price +
                '}';
    }
}
package dao_.damin;

public class Administrator {
    private String naem;
    private String password;

    public Administrator() {
    }

    public Administrator(String naem, String password) {
        this.naem = naem;
        this.password = password;
    }

    public String getNaem() {
        return naem;
    }

    public String getPassword() {
        return password;
    }

    public void setNaem(String naem) {
        this.naem = naem;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "Administrator{" +
                "naem='" + naem + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值