• 2020 12 2


    图书管理系统,dao层:

    package bean;
    import java.sql.*;
    import java.time.LocalDate;
    import java.time.format.DateTimeFormatter;
    import java.util.*;
    public class dao {
        public Connection getConnection()
        {
            try {
                Class.forName("com.mysql.cj.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            String url = "jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8";
            String username = "root";
            String password="123456";
            Connection a=null;
            try {
                a = DriverManager.getConnection(url,username,password);
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return a;
        }
        public boolean checkM(String name,String password) throws SQLException
        {
            Connection coon=getConnection();
            String sql="select* from manager";
            Statement stmt=coon.createStatement();
            ResultSet rs=stmt.executeQuery(sql);
            int TEMP=0;
            while(rs.next())
            {
                if(name.equals(rs.getString("name"))&&password.equals(rs.getString("password")))
                    {coon.close();return true;}
            }
            return false;
        }
        public boolean checkR(String name,String password) throws SQLException
        {
            Connection coon=getConnection();
            String sql="select* from readerpass";
            Statement stmt=coon.createStatement();
            ResultSet rs=stmt.executeQuery(sql);
            while(rs.next())
            {
                if(name.equals(rs.getString("num"))&&password.equals(rs.getString("password")))
                {coon.close();return true;}
            }
            return false;
        }
        public boolean addReader(reader p,String password) throws SQLException
        {
            Connection coon=getConnection();
            int row,temp=0;
            String sql1="insert into readerpass(num,password)values(?,?)";
            String sql2="insert into mybook(name,book,date1,date2)values(?,?,?,?)";
            String sql="insert into reader(num,name,sex,school)values(?,?,?,?)";
            PreparedStatement b,c,d;
            try {
                b = coon.prepareStatement(sql);
                b.setString(1,p.getNum());
                b.setString(2,p.getName());
                b.setString(3,p.getSex());
                b.setString(4,p.getSchool());
                row=b.executeUpdate();
                if(row<0) temp=1;
                b.close();
            } catch (SQLException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
            try {
                c = coon.prepareStatement(sql1);
                c.setString(1,p.getNum());
                c.setString(2,password);
                row=c.executeUpdate();
                if(row<0) temp=1;
                c.close();
            } catch (SQLException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
            try {
                d = coon.prepareStatement(sql2);
                d.setString(1,p.getName());
                d.setString(2,"");
                d.setString(3,"");
                d.setString(4,"");
                row=d.executeUpdate();
                if(row<0) temp=1;
                d.close();
            } catch (SQLException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
            coon.close();
            if(temp==0) return true;
            else return false;
        }
        public boolean addBook(book p) throws SQLException
        {
            Connection coon=getConnection();
            int row,temp=0;
            String sql="insert into book(ID,name,writter,home,num)values(?,?,?,?,?)";
            PreparedStatement b;
            try {
                b = coon.prepareStatement(sql);
                b.setString(1,p.getID());
                b.setString(2,p.getName());
                b.setString(3,p.getWritter());
                b.setString(4,p.getHome());
                b.setString(5,p.getNum());
                row=b.executeUpdate();
                if(row<0) temp=1;
                b.close();
            } catch (SQLException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
            coon.close();
            if(temp==0) return true;
            else return false;
        }
        public reader Rlook(String num) throws SQLException
        {
            reader q=new reader();
            Connection coon=getConnection();
            Statement stmt=coon.createStatement();
            String sql1="select* from reader";
            ResultSet rs=stmt.executeQuery(sql1);
            while(rs.next())
            {
                String namep=rs.getString("num");
                if(num.equals(namep)==true)
                {
                    q.setNum(rs.getString("num"));
                    q.setName(rs.getString("name"));
                    q.setSex(rs.getString("sex"));
                    q.setSchool(rs.getString("school"));
                    break;
                }
            }
            rs.close();
            stmt.close();
            coon.close();
            return q;
        }
        public List<book> findb() throws SQLException
        {
            List<book> list=new ArrayList<book>();
            Connection coon=getConnection();
            String sql="select* from book";
            Statement stmt=coon.createStatement();
            ResultSet rs=stmt.executeQuery(sql);
            while(rs.next())
            {
                book a=new book();
                a.setID(rs.getString("ID"));
                a.setName(rs.getString("name"));
                a.setWritter(rs.getString("writter"));
                a.setHome(rs.getString("home"));
                a.setNum(rs.getString("num"));
                list.add(a);
            }
            rs.close();
            stmt.close();
            coon.close();
            return list;
        }
        public List<book> findb1(String A,String B) throws SQLException
        {
            List<book> list=new ArrayList<book>();
            Connection coon=getConnection();
            String sql="select * from book where "+A+" like '%"+B+"%'";
            Statement stmt=coon.createStatement();
            ResultSet rs=stmt.executeQuery(sql);
            while(rs.next())
            {
                book a=new book();
                a.setID(rs.getString("ID"));
                a.setName(rs.getString("name"));
                a.setWritter(rs.getString("writter"));
                a.setHome(rs.getString("home"));
                a.setNum(rs.getString("num"));
                list.add(a);
            }
            rs.close();
            stmt.close();
            coon.close();
            return list;
        }
        public void borrow(String ID,reader a,String b,String d) throws SQLException
        {
            Connection coon=getConnection();
            String sql="select* from book";
            String sql3="select* from mybook";
            Statement stmt=coon.createStatement();
            Statement stmt1=coon.createStatement();
            ResultSet rs=stmt.executeQuery(sql);
            ResultSet rs1=stmt1.executeQuery(sql3);
            while(rs.next())
            {
                System.out.println(rs.getString("ID"));
                if(rs.getString("ID").equals(ID)&&!rs.getString("num").equals("0"))
                {
                    String sql1="update book set num=? where ID=?";
                    PreparedStatement a1=coon.prepareStatement(sql1);
                    String name2=Integer.toString(Integer.parseInt(rs.getString("num"))-1);
                    a1.setString(1, name2);
                    a1.setString(2, ID);
                    a1.executeUpdate();
                    a1.close();
                    String name5=rs.getString("name");
                    rs.close();
                    while(rs1.next())
                    {
                        if(rs1.getString("name").equals(a.getName()))
                        {
                            String sql2="update mybook set book=?,date1=?,date2=? where name=?";
                            PreparedStatement a2=coon.prepareStatement(sql2);
                            String name3=rs1.getString("book");
                            String name4=name3+name5+"+";
                            String name7=rs1.getString("date1")+b+"+";
                            String name6=rs1.getString("date2")+d+"+";
                            a2.setString(1, name4);
                            a2.setString(2, name7);
                            a2.setString(3, name6);
                            a2.setString(4, a.getName());
                            a2.executeUpdate();
                            a2.close();
                            rs1.close();
                            break;
                        }
                    }
                    break;
                }
            }
            stmt.close();
            stmt1.close();
            coon.close();
        }
        public String lasttime(String A)
        {
            String t[]=A.split("\-");
            int d[]= {31,28,31,30,31,30,31,31,30,31,30,31};
            int a=Integer.parseInt(t[0]);
            int b=Integer.parseInt(t[1]);
            int c=Integer.parseInt(t[2]);
            if(c%4==0)
            {
                d[1]=29;
            }
            for(int i=1;i<=90;i++)
            {
                if(a==d[b-1])
                {
                    a=0;
                    b++;
                }
                if(b==13)
                {
                    b=1;
                    c++;
                }
                a++;    
            }
            A=Integer.toString(a)+"-"+Integer.toString(b)+"-"+Integer.toString(c);
            return A;
        }
        public List<book> findbp(String name) throws SQLException
        {
            List<book> list=new ArrayList<book>();
            List<book> list2=new ArrayList<book>();
            Connection coon=getConnection();
            LocalDate date = LocalDate.now();
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
            String time1 = date.format(formatter);
            String sql="select* from mybook";
            String sql1="select* from book";
            Statement stmt=coon.createStatement();
            Statement stmt1=coon.createStatement();
            ResultSet rs=stmt.executeQuery(sql);
            ResultSet rs1=stmt1.executeQuery(sql1);
            while(rs1.next())
            {
                    book a=new book();
                    a.setID(rs1.getString("ID"));
                    a.setName(rs1.getString("name"));
                    a.setWritter(rs1.getString("writter"));
                    a.setHome(rs1.getString("home"));
                    a.setNum(rs1.getString("num"));
                    list.add(a);
            }
            while(rs.next())
            {
                
                if(rs.getString("name").equals(name))
                {
                    
                    String A[]=rs.getString("date2").split("\+");
                    String B[]=rs.getString("book").split("\+");
                    for(int i=0;i<A.length;i++)
                    {
                    
                        if(!time(time1,A[i]))
                        {
                            for(book O:list)
                            {
                    
                                if(O.getName().equals(B[i]))
                                {
                                    list2.add(O);
                                }
                            }
                        }
                    }
                }
            }
            rs1.close();
            rs.close();
            stmt.close();
            stmt1.close();
            coon.close();
            return list2;
        }
        public List<book> findbm(String name) throws SQLException
        {
            List<book> list=new ArrayList<book>();
            List<book> list2=new ArrayList<book>();
            Connection coon=getConnection();
            String sql="select* from mybook";
            String sql1="select* from book";
            Statement stmt=coon.createStatement();
            Statement stmt1=coon.createStatement();
            ResultSet rs=stmt.executeQuery(sql);
            ResultSet rs1=stmt1.executeQuery(sql1);
            while(rs1.next())
            {
                    book a=new book();
                    a.setID(rs1.getString("ID"));
                    a.setName(rs1.getString("name"));
                    a.setWritter(rs1.getString("writter"));
                    a.setHome(rs1.getString("home"));
                    a.setNum(rs1.getString("num"));
                    list.add(a);
            }
            while(rs.next())
            {
                if(rs.getString("name").equals(name))
                {
                    String name1[]=rs.getString("book").split("\+");
                    for(int i=0;i<name1.length;i++)
                    {
                        for(book O:list)
                        {
                            if(O.getName().equals(name1[i]))
                            {
                                list2.add(O);
                            }
                        }
                    }
                }
            }
            rs.close();
            rs1.close();
            stmt.close();
            stmt1.close();    
            coon.close();
            return list;
        }
        public List<book> findbp1() throws SQLException
        {
            LocalDate date = LocalDate.now();
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
            String time1 = date.format(formatter);
            List<book> list=new ArrayList<book>();
            List<book> list2=new ArrayList<book>();
            String name=new String();
            Connection coon=getConnection();
            String sql="select* from mybook";
            String sql1="select* from book";
            Statement stmt=coon.createStatement();
            Statement stmt1=coon.createStatement();
            ResultSet rs=stmt.executeQuery(sql);
            ResultSet rs1=stmt1.executeQuery(sql1);
    
            while(rs1.next())
            {
                    book a=new book();
                    a.setID(rs1.getString("ID"));
                    a.setName(rs1.getString("name"));
                    a.setWritter(rs1.getString("writter"));
                    a.setHome(rs1.getString("home"));
                    a.setNum(rs1.getString("num"));
                    a.setReader("wite");
                    list.add(a);
            }
        
            while(rs.next())
            {
                if(rs.getString("book")!=null)
                {
                    String A[]=rs.getString("date2").split("\+");
                    String B[]=rs.getString("book").split("\+");
                    for(int i=0;i<A.length;i++)
                    {
                    
                        if(!time(time1,A[i]))
                        {
                            System.out.println("1");
                            for(book O:list)
                            {
                                if(O.getName().equals(B[i]))
                                {
                                    System.out.println(rs.getString("name"));
                                    O.setReader(rs.getString("name"));
                                    list2.add(O);
                                }
                            }
                        }
                    }
                }
                else break;
            }
    
            rs.close();
            rs1.close();
            stmt.close();
            stmt1.close();    
            coon.close();
            return list2;
        }
        public void huan(String ID,reader a) throws SQLException
        {
            String name="";
            String num="";
            String bookname="";
            String date1="";
            String date2="";
            Connection coon=getConnection();
            String sql="select* from book";
            String sql1="select* from mybook";
            Statement stmt=coon.createStatement();
            Statement stmt1=coon.createStatement();
            ResultSet rs=stmt.executeQuery(sql);
            ResultSet rs1=stmt1.executeQuery(sql1);
            while(rs.next())
            {
                if(rs.getString("ID").equals(ID))
                {
                    name=rs.getString("name");
                    num=rs.getString("num");
                }
            }
            while(rs1.next())
            {
                if(rs1.getString("name").equals(a.getName()))
                {
                    String A[]=rs1.getString("date2").split("\+");
                    String B[]=rs1.getString("book").split("\+");
                    String C[]=rs1.getString("date1").split("\+");
                    for(int i=0;i<B.length;i++)
                    {
                        if(!name.equals(B[i]))
                        {
                            bookname=bookname+B[i]+"+";
                            date1=date1+C[i]+"+";
                            date2=date2+A[i]+"+";
                        }
                    }
                }
                String Sql="update book set num=? where ID=?";
                PreparedStatement a1=coon.prepareStatement(Sql);
                String name2=Integer.toString(Integer.parseInt(num)+1);
                a1.setString(1, name2);
                a1.setString(2, ID);
                a1.executeUpdate();
                String sql2="update mybook set book=?,date1=?,date2=? where name=?";
                PreparedStatement a2=coon.prepareStatement(sql2);
                a2.setString(1, bookname);
                a2.setString(2, date1);
                a2.setString(3, date2);
                a2.setString(4, a.getName());
                a2.executeUpdate();
                a2.close();
                a1.close();
            }
            rs.close();
            rs1.close();
            stmt.close();
            stmt1.close();
            coon.close();
        }
        public boolean time(String A,String B)
        {
            String a[]=A.split("\-");
            String b[]=B.split("\-");
            int a1=Integer.parseInt(a[0]);
            int a2=Integer.parseInt(a[1]);
            int a3=Integer.parseInt(a[2]);
            int b1=Integer.parseInt(b[0]);
            int b2=Integer.parseInt(b[1]);
            int b3=Integer.parseInt(b[2]);
            if(a3>b3) return false;
            else if(a3==b3&&a2>b2) return false;
            else if(a3==b3&&a2==b2&&a1>b1) return false;
            else return true;
        }
    }
  • 相关阅读:
    Linux系统类别
    ST-GCN基于skeleton的动作识别
    (gcc/g++)/clang/cl编译器
    羽毛球经典教材范例
    opencv批量读取图片
    十六、mysql 变量
    十五、mysql 存储过程
    十四、mysql 视图
    十三、mysql TCL语言
    十二、mysql 标识列
  • 原文地址:https://www.cnblogs.com/fuxw4971/p/14220246.html
Copyright © 2020-2023  润新知