借书系统

package Bean;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class bean 
{
    final String URL="jdbc:mysql://localhost:3306/library?&useSSL=false&serverTimezone=UTC";
    final String Name="root";
    final String Password="woshinidie668";
    private static String name;
    private static String sname;
    private static String ID;
    private static String sex;
    private static String location;
    private static String password;
    private static String tpassword;
    private static String writer;
    private static String BID;
    private static String Date;
    private static String Bdate;
    @SuppressWarnings("deprecation")
    private static String publisher;
    private static int number;
    private Connection con;
    private PreparedStatement stmt;
    private ResultSet rs;
    private PreparedStatement stmt1;
    private ResultSet rs1;
    boolean a;   
    SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
    Date date = new Date( );
    SimpleDateFormat ft = new SimpleDateFormat ("yyyyMMdd");
    String now = ft.format(date);   
    public boolean isA() {
        return a;
    }
    public void setA(boolean a) {
        this.a = a;
    }
    public static String getName() {
        return name;
    }
    public static void setName(String name) {
        bean.name = name;
    }
    public static String getPassword() {
        return password;
    }
    public static void setPassword(String password) {
        bean.password = password;
    }
    
    public static String getID() {
        return ID;
    }
    public static void setID(String iD) {
        ID = iD;
    }
    public static String getSex() {
        return sex;
    }
    public static void setSex(String sex) {
        bean.sex = sex;
    }
    public static String getLocation() {
        return location;
    }
    public static void setLocation(String location) {
        bean.location = location;
    }
    public static String getSname() {
        return sname;
    }
    public static void setSname(String sname) {
        bean.sname = sname;
    }
    public static String getTpassword() {
        return tpassword;
    }
    public static void setTpassword(String tpassword) {
        bean.tpassword = tpassword;
    }
    public static String getWriter() {
        return writer;
    }
    public static void setWriter(String writer) {
        bean.writer = writer;
    }
    public static String getPublisher() {
        return publisher;
    }
    public static void setPublisher(String publisher) {
        bean.publisher = publisher;
    }
    public static int getNumber() {
        return number;
    }
    public static void setNumber(int number) {
        bean.number = number;
    }
    public static String getBID() {
        return BID;
    }
    public static void setBID(String bID) {
        BID = bID;
    }
    public static String getDate() {
        return Date;
    }
    public static void setDate(String date) {
        Date = date;
    }
    public static String getBdate() {
        return Bdate;
    }
    public static void setBdate(String bdate) {
        Bdate = bdate;
    }
    public Connection getConnection() throws Exception
    {
           if(con == null)
            {
                         // 指出连接数据库所需要的驱动程序
                         Class.forName("com.mysql.cj.jdbc.Driver");
                         System.out.println("数据库连接成功!");

                         // 建立与数据库之间的连接
                         con = DriverManager.getConnection(URL,Name,Password);
                         System.out.println("数据库连接成功!");             
             }
             return con;
     }

    public boolean FindName(Connection conn) throws SQLException
    {
         String sql1="select * from management where 工号=?";
         stmt=conn.prepareStatement(sql1);
         stmt.setString(1,getName( ));
         rs=stmt.executeQuery( );
         while(rs.next( ))
         {
             setA(true);
             if(rs.getString("密码").equals(getPassword()))
             {
                 return true;
             }
             else
             {
                 return false;
             }
         }
         return false;
     }

    public void studentAdd(Connection conn) throws SQLException
    {
        String sql="insert into imstudent (学号,密码) values (?,?)";
        stmt=conn.prepareStatement(sql);
        stmt.setString(1,getID( ));
        stmt.setString(2,getTpassword( ));
        stmt.execute();
    }
    
    public void addStudent(Connection conn)
    {
        String sql="insert into student (学号,读者姓名,读者性别,所在学院) values (?,?,?,?)";
        try {
                stmt=conn.prepareStatement(sql);
                stmt.setString(1,getID( ));
                stmt.setString(2,getSname( ));
                stmt.setString(3,getSex( ));
                stmt.setString(4,getLocation( ));
                stmt.execute( );
            } 
        catch (SQLException e) 
            {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }       
    }
    
    public void addBook(Connection conn)
    {
        String sql="insert into book (编号,书名,作者名,出版社名称,可借阅数量) values (?,?,?,?,?)";
        try {
                stmt=conn.prepareStatement(sql);
                stmt.setString(1,getID( ));
                stmt.setString(2,getName( ));
                stmt.setString(3,getWriter( ));
                stmt.setString(4,getPublisher( ));
                stmt.setInt(5,getNumber( ));
                stmt.execute( );
            } 
        catch (SQLException e) 
            {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }       
    }
 
    public void PasswordSset(PreparedStatement stmt) throws SQLException
    {
        stmt.setString(1,getTpassword( ));
        stmt.setString(2,getID( ));
        stmt.executeUpdate( );
    }
    
    public boolean FindSname(Connection conn) throws SQLException
    {
        String sql1="select * from imstudent where 学号=?";
        String sql="Update imstudent set 密码=? where 学号=?";
        stmt=conn.prepareStatement(sql1); 
        stmt.setString(1,getID( ));
        rs=stmt.executeQuery( );
        while(rs.next( ))
        {
             if(rs.getString("密码").equals(""))
             {
                 stmt=conn.prepareStatement(sql);
                 PasswordSset(stmt);
                 break;
             }
        }
        rs.close( );
        stmt.close( );
        stmt1=conn.prepareStatement(sql1);
        stmt1.setString(1,getID( ));
        rs1=stmt1.executeQuery( );
        while(rs1.next( ))
        {
             setA(true);
             if(rs1.getString("密码").equals(getTpassword()))
             {
                 return true;
             }
             else
             {
                 return false;
             }
        }
        return false;
    }
   
    public void SelectBook(Connection conn) throws ParseException
    {
            date = sdf.parse(now);
            Calendar rightNow = Calendar.getInstance();
            Date dt;
            dt = date;
            rightNow.setTime(dt);
            rightNow.add(Calendar.MONTH,3);
            Date dt1=rightNow.getTime();
            String htime = sdf.format(dt1);
            String sql="insert into borrow (学号,借阅书名,借阅日期,归还日期) values (?,?,?,?)";
            try {
                stmt=conn.prepareStatement(sql);
                stmt.setString(1,getID( ));
                stmt.setString(2,getName( ));
                stmt.setString(3, now);
                stmt.setString(4, htime);
                stmt.execute( );
            } 
            catch (SQLException e) 
            {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }       
    }
   
    public int Judgement(Connection conn) throws SQLException
    {
        int i=0;
        String sql1="select * from borrow where 学号=?";
         stmt=conn.prepareStatement(sql1);
         stmt.setString(1,getID( ));
         rs=stmt.executeQuery( );
         while(rs.next( ))
         {
             if(rs.getString("借阅书名").equals(getName( )))
             {
                 i++;
             }
         }
         return i;
    }
    
    public int JudgementDate(Connection conn) throws ParseException, SQLException
    {
        String time;
        int day = 0;
        date=sdf.parse(now);
        Date backdate=null;
        String sql="select * from borrow where 借阅书名=?";
        stmt=conn.prepareStatement(sql);
          stmt.setString(1,getName( ));
          rs=stmt.executeQuery( );
          while(rs.next( ))
          {
              time=rs.getString("归还日期");
              backdate=sdf.parse(time);
              long poor=date.getTime( )-backdate.getTime( );
              day=(int)(poor/86400000);
          }
          return day;
    }
    
    public void showBook(Connection conn) throws SQLException
    {
        String sql1="select * from book where 书名=?";
        stmt=conn.prepareStatement(sql1);
         stmt.setString(1,getName( ));
         rs=stmt.executeQuery( );
         while(rs.next( ))
         {
             setBID(rs.getString("编号"));
             setWriter(rs.getString("作者名"));
             setPublisher(rs.getString("出版社名称"));
             setNumber(rs.getInt("可借阅数量"));
         }
    }

    public void returnBook(Connection conn) throws SQLException, ParseException
    {

        String str="delete from borrow where 借阅书名=?";
        stmt=conn.prepareStatement(str);
         stmt.setString(1,getName( ));
         stmt.execute( );
    }

    public void close()
       {
             try
             {
                 rs.close();
             }
             catch(Exception e){}
             try
             {
                 stmt.close();
             }catch(Exception e){}
             try
             {
                 con.close();
             }catch(Exception e){}
       }
}

 

posted @ 2020-12-14 22:59  derek&cosmo  阅读(141)  评论(0)    收藏  举报