zoukankan      html  css  js  c++  java
  • 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;
        }
    }
  • 相关阅读:
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    微信小程序TodoList
    C语言88案例-找出数列中的最大值和最小值
    C语言88案例-使用指针的指针输出字符串
  • 原文地址:https://www.cnblogs.com/fuxw4971/p/14220246.html
Copyright © 2011-2022 走看看