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 + '\'' +
'}';
}
}