dao层
package bean; import java.sql.*; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.Date; public class dao { public static Long between_days(String a, String b) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");// �Զ���ʱ���ʽ Calendar calendar_a = Calendar.getInstance();// ��ȡ�������� Calendar calendar_b = Calendar.getInstance(); Date date_a = null; Date date_b = null; try { date_a = simpleDateFormat.parse(a);//�ַ���תDate date_b = simpleDateFormat.parse(b); calendar_a.setTime(date_a);// �������� calendar_b.setTime(date_b); } catch (Exception e) { e.printStackTrace();//��ʽ���쳣 } long time_a = calendar_a.getTimeInMillis(); long time_b = calendar_b.getTimeInMillis(); long between_days = (time_b - time_a) / (1000 * 3600 * 24);//����������� return between_days; } public String passing(String account,String password) throws SQLException { //login bd database=new bd(); Connection connect=database.getlink(); Statement state=null; ResultSet rsp=null; state=connect.createStatement(); rsp=state.executeQuery("select * from name where code='"+account+"'and password='"+password+"'"); if(rsp.next()) { System.out.print(rsp.getString("using")); return rsp.getString("using");} return "0"; } public readerform selfcheck(String code) throws SQLException { readerform me=new readerform(); bd database=new bd(); Connection connect=database.getlink(); Statement state=null; state=connect.createStatement(); ResultSet rs = state.executeQuery("select * from reader where code='"+code+"'"); if(rs.next()) { me.setCode(rs.getString("code")); me.setName(rs.getString("name")); me.setSex(rs.getString("sex")); me.setAcd(rs.getString("acd")); } return me; } public int Iputreader(readerform w){ bd database=new bd(); Connection connect=database.getlink(); Statement state=null; try { state=connect.createStatement(); } catch (SQLException e) {System.out.print("sqlboom! ");} try { state.executeUpdate("INSERT INTO reader VALUES('"+w.getCode()+"','"+w.getName()+"','"+w.getSex()+"','"+w.getAcd()+"')"); state.executeUpdate("INSERT INTO name VALUES('"+w.getCode()+"','0000','2')"); return 1; } catch (SQLException e) {System.out.print("insert error! ");return 0;} } public int Iputbook(bookform w){ bd database=new bd(); Connection connect=database.getlink(); Statement state=null; try { state=connect.createStatement(); } catch (SQLException e) {System.out.print("sqlboom! ");} try { state.executeUpdate("INSERT INTO books VALUES('"+w.getCode()+"','"+w.getName()+"','"+w.getMaster()+"','"+w.getOutput()+"','"+w.getMaxamount()+"','0')"); return 1; } catch (SQLException e) {System.out.print("insert error! ");return 0;} } public bookform[] viewall() { bd database=new bd(); Connection connect=database.getlink(); Statement state=null; try { state=connect.createStatement(); } catch (SQLException e) {System.out.print("sqlboom! ");} bookform[] pop=new bookform[1000]; for(int i=0;i<1000;i++) { pop[i]=new bookform(); } ResultSet rsp=null; try { rsp = state.executeQuery("select * from books"); } catch (SQLException e) {System.out.print("rs.error");} try { for(int i=0;rsp.next();i++) { pop[i].setCode(rsp.getString("code")); pop[i].setName(rsp.getString("name")); pop[i].setMaster(rsp.getString("master")); pop[i].setOutput(rsp.getString("output")); pop[i].setAmount(Integer.parseInt(rsp.getString("amount"))); pop[i].setMaxamount(Integer.parseInt(rsp.getString("maxamount"))); } } catch (SQLException e) {System.out.print("rsget.error");} return pop; } public int select(String student,String code) throws SQLException { int i=1; LocalDate date = LocalDate.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String day=date.format(formatter); bd database=new bd(); Connection connect=database.getlink(); Statement state=null; state=connect.createStatement();Statement st = connect.createStatement(); ResultSet rs = state.executeQuery("select count(*) from seekbook where student='"+student+"' and book='"+code+"'"); rs.next(); int result = rs.getInt(1); rs.close(); ResultSet rsp = st.executeQuery("select * from books where code='"+code+"'"); int num=0;int maxnum=0; if(rsp.next()) { num=Integer.parseInt(rsp.getString("amount")); maxnum=Integer.parseInt(rsp.getString("maxamount")); System.out.print(result); System.out.print(num); } if(result==0&&(num<maxnum)){ state.executeUpdate("INSERT INTO seekbook VALUES('"+student+code+"','"+code+"','"+student+"','"+day+"')"); num++; state.executeUpdate("update books set amount='"+num+"' where code='"+code+"'"); }else { i=0; } return i; } public bookform[] viewonly(String name,String master) { bd database=new bd(); Connection connect=database.getlink(); Statement state=null; try { state=connect.createStatement(); } catch (SQLException e) {System.out.print("sqlboom! ");} bookform[] pop=new bookform[1000]; for(int i=0;i<1000;i++) { pop[i]=new bookform(); } ResultSet rsp=null; try { rsp = state.executeQuery("select * from books where name like '%"+name+"%' and master like '%"+master+"%'"); } catch (SQLException e) {System.out.print("rs.error");} try { for(int i=0;rsp.next();i++) { pop[i].setCode(rsp.getString("code")); pop[i].setName(rsp.getString("name")); pop[i].setMaster(rsp.getString("master")); pop[i].setOutput(rsp.getString("output")); pop[i].setAmount(Integer.parseInt(rsp.getString("amount"))); pop[i].setMaxamount(Integer.parseInt(rsp.getString("maxamount"))); } } catch (SQLException e) {System.out.print("rsget.error");} return pop; } public int date(String day1,String day2) { String between_dayInteger = ""+between_days(day1, day2); return Integer.parseInt(between_dayInteger); } public int refuse(String code,String book) throws SQLException { bd database=new bd(); Connection connect=database.getlink(); Statement state=null; state=connect.createStatement(); state.executeUpdate("delete from seekbook where student='"+code+"' and book='"+book+"'"); return 1; } public seekform[] viewme(String code) throws SQLException { bd database=new bd(); seekform[] pop=new seekform[1000]; Connection connect=database.getlink(); Statement state=null; state=connect.createStatement(); ResultSet rsp = state.executeQuery("select * from seekbook where student='"+code+"'"); for(int i=0; i<1000; i++) {pop[i] = new seekform();} for(int i=0;rsp.next();i++) { pop[i].setBook(rsp.getString("book")); pop[i].setDay(rsp.getString("day")); pop[i].setStudent(rsp.getString("student")); } return pop; } public seekform[] viewself(String code) throws SQLException { bd database=new bd(); seekform[] pop=new seekform[1000]; Connection connect=database.getlink(); Statement state=null; state=connect.createStatement(); ResultSet rsp = state.executeQuery("select * from seekbook where student='"+code+"'"); for(int i=0; i<1000; i++) {pop[i] = new seekform();} for(int i=0;rsp.next();i++) { LocalDate date = LocalDate.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String day=date.format(formatter); if(date(rsp.getString("day"),day)>30) { pop[i].setBook(rsp.getString("book")); pop[i].setDay(rsp.getString("day")); pop[i].setStudent(rsp.getString("student")); }else { i--; } } return pop; } public seekform[] viewas() throws SQLException { bd database=new bd(); seekform[] pop=new seekform[1000]; Connection connect=database.getlink(); Statement state=null; state=connect.createStatement(); ResultSet rsp = state.executeQuery("select * from seekbook"); for(int i=0; i<1000; i++) {pop[i] = new seekform();} for(int i=0;rsp.next();i++) { LocalDate date = LocalDate.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String day=date.format(formatter); if(date(rsp.getString("day"),day)>30) { pop[i].setBook(rsp.getString("book")); pop[i].setDay(rsp.getString("day")); pop[i].setStudent(rsp.getString("student")); }else { i--; } } return pop; } }