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){}
}
}