Compare commits

..

13 Commits

@ -0,0 +1,74 @@
package Controller;
import java.sql.SQLException;
import java.util.Vector;
import Model.access.AdmiAccess;
/**
*
* @author rsw
*
*/
public class AdmiCon {
AdmiAccess admiDao = new AdmiAccess();
/**
*
*/
public boolean queryAdmi(String count, String password) throws SQLException {
boolean findAdmi = admiDao.queryAdmi(count, password);
return findAdmi;
}
/**
*
*/
public Vector<Vector<Object>> queryAdmi(String count) throws SQLException {
return admiDao.queryAdmi(count);
}
/**
*
*/
public Vector<Vector<Object>> seleAdmi() throws SQLException {
return admiDao.seleAdmi();
}
/**
*
*/
public void deleAdmi(String superNumber) throws SQLException {
admiDao.deleAdmi(superNumber);
}
/**
*
*/
public void updateAdmi(String adm_tele, String adm_email, String superNumber) throws SQLException {
admiDao.updateAdmi(adm_tele, adm_email, superNumber);
}
/**
*
*/
public void insterAdmi(String adm_count, String adm_name, String adm_id_number, String adm_tele, String adm_email,
String adm_keeppass, String adm_password) throws SQLException {
admiDao.insterAdmi(adm_count, adm_name, adm_id_number, adm_tele, adm_email, adm_keeppass, adm_password);
}
/**
*
*/
public void updateAdmiPass(String alterPass, String adm_count, String adm_password, String adm_keeppass)
throws SQLException {
admiDao.updateAdmiPass(alterPass, adm_count, adm_password, adm_keeppass);
}
/**
*
*/
public boolean proveSuper(String count, String password) throws SQLException {
return admiDao.proveSuper(count, password);
}
}

@ -0,0 +1,92 @@
package Controller;
import java.sql.SQLException;
import java.util.Vector;
import Model.access.BookAccess;
/**
*
* @author rsw
*
*/
public class BookCon {
BookAccess bd = new BookAccess();
/**
*
*/
public Vector<Vector<Object>> getVector(String ISBN,String b_name, String author) throws SQLException {
Vector<Vector<Object>> Vdata = bd.inithavesold(ISBN,b_name, author);
return Vdata;
}
/**
*
*/
public Vector<Vector<Object>> seleBook() throws SQLException {
return bd.seleBook();
}
/**
*
*/
public Vector<Vector<Object>> getBook(String ISBN,String b_name, String author, String b_type) throws SQLException {
Vector<Vector<Object>> bookData = bd.queryBook(ISBN,b_name, author, b_type);
return bookData;
}
/**
*
*/
public Vector<String> getB_type() throws SQLException {
Vector<String> bt_name = bd.seleB_type();
return bt_name;
}
/**
* id
*/
public int seleB_name(String name) throws SQLException {
int count = bd.seleB_name(name);
return count;
}
/**
*
*/
public void dropBook(int b_id) throws SQLException {
bd.dropBook(b_id);
}
/**
*
*/
public void insterBook(String ISBN, String b_name, int booktype, String author, String press, double price,
int inventory) throws SQLException {
bd.insterBook(ISBN, b_name, booktype, author, press, price, inventory);
}
/**
*
*/
public void updateBook(String ISBN, String b_name, String author, String press, double price, int inventory,
int b_id) throws SQLException {
bd.updateBook(ISBN, b_name, author, press, price, inventory, b_id);
}
/**
*
*/
public boolean existBooktype(int bt_id) throws SQLException {
return bd.existBooktype(bt_id);
}
/**
* ISBN
*/
public boolean isISBN(String ISBN) throws SQLException {
return bd.isISBN(ISBN);
}
}

@ -0,0 +1,67 @@
package Controller;
import java.sql.SQLException;
import java.util.List;
import Model.access.BookAccess;
import Model.access.BookTypeAccess;
import Model.table.BookType;
/**
*
*
* @author rsw
*
*/
public class BookTypeCon {
BookTypeAccess bookTypeDao = new BookTypeAccess();
/**
* id
*/
public int queryBTid(String bt_name) throws SQLException {
int bookType = bookTypeDao.queryBTid(bt_name);
return bookType;
}
/**
*
*/
public Object[][] queryBookType() throws SQLException {
Object[][] bookTypeData = new Object[bookTypeDao.queryBookType().size()][2];
for (int i = 0; i < bookTypeData.length; i++) {
BookType bookType = bookTypeDao.queryBookType().get(i);
bookTypeData[i][0] = bookType.getBt_id();
bookTypeData[i][1] = bookType.getBt_name();
}
return bookTypeData;
}
/**
*
*
* @param bt_name
* @throws SQLException
*/
public int insertBookType(String bt_name) throws SQLException {
return bookTypeDao.insertBookType(bt_name);
}
/**
*
*/
public void deleteBookType(int bt_id) throws SQLException {
bookTypeDao.deleteBookType(bt_id);
}
/**
*
*
* @param bt_id
* @throws SQLException
*/
public void updateBookType(String input_bookType, int bt_id) throws SQLException {
bookTypeDao.updateBookType(input_bookType, bt_id);
}
}

@ -0,0 +1,79 @@
package Controller;
import java.sql.SQLException;
import java.util.Vector;
import Model.access.BorrowAccess;
import Tool.TimeTool;
/**
*
* @author rsw
*
*/
public class BorrowCon {
BorrowAccess borrowdao = new BorrowAccess();
public boolean insertBorrow(String number, int b_name, int borrowdate, int duedate,int b_id) throws SQLException {
return borrowdao.insertBorrow(number, b_name, borrowdate, duedate,b_id);
}
/**
*
*/
public Object[][] queryBorrowInfo(String number1, String number2, boolean isreturn) throws SQLException {
Object[][] borrowData = new Object[borrowdao.queryBorrowInfo(number1, number2, isreturn).size()][8];
for (int i = 0; i < borrowData.length; i++) {
borrowData[i][0] = borrowdao.queryBorrowInfo(number1, number2, isreturn).elementAt(i).elementAt(0);
borrowData[i][1] = borrowdao.queryBorrowInfo(number1, number2, isreturn).elementAt(i).elementAt(1);
borrowData[i][2] = borrowdao.queryBorrowInfo(number1, number2, isreturn).elementAt(i).elementAt(2);
borrowData[i][3] = borrowdao.queryBorrowInfo(number1, number2, isreturn).elementAt(i).elementAt(3);
borrowData[i][4] = borrowdao.queryBorrowInfo(number1, number2, isreturn).elementAt(i).elementAt(4);
borrowData[i][5] = TimeTool.stampToDate(
borrowdao.queryBorrowInfo(number1, number2, isreturn).elementAt(i).elementAt(5).toString());
borrowData[i][6] = TimeTool.stampToDate(
borrowdao.queryBorrowInfo(number1, number2, isreturn).elementAt(i).elementAt(6).toString());
}
return borrowData;
}
/**
*
*/
public Object[][] queryBorrowReturnDate(String number1, String number2, boolean isreturn) throws SQLException {
Object[][] borrowData = new Object[borrowdao.queryBorrowInfo(number1, number2, isreturn).size()][8];
for (int i = 0; i < borrowData.length; i++) {
borrowData[i][0] = borrowdao.queryBorrowInfo(number1, number2, isreturn).elementAt(i).elementAt(0);
borrowData[i][1] = borrowdao.queryBorrowInfo(number1, number2, isreturn).elementAt(i).elementAt(1);
borrowData[i][2] = borrowdao.queryBorrowInfo(number1, number2, isreturn).elementAt(i).elementAt(2);
borrowData[i][3] = borrowdao.queryBorrowInfo(number1, number2, isreturn).elementAt(i).elementAt(3);
borrowData[i][4] = borrowdao.queryBorrowInfo(number1, number2, isreturn).elementAt(i).elementAt(4);
borrowData[i][5] = TimeTool.stampToDate(
borrowdao.queryBorrowInfo(number1, number2, isreturn).elementAt(i).elementAt(5).toString());
borrowData[i][6] = TimeTool.stampToDate(
borrowdao.queryBorrowInfo(number1, number2, isreturn).elementAt(i).elementAt(6).toString());
borrowData[i][7] = TimeTool.stampToDate(
borrowdao.queryBorrowInfo(number1, number2, isreturn).elementAt(i).elementAt(7).toString());
}
return borrowData;
}
/**
*
*/
public boolean returnBorrow(int returndate,int borrow_id,int b_id) throws SQLException {
return borrowdao.returnBorrow(returndate,borrow_id,b_id);
}
/**
*
* @throws SQLException
*/
public boolean queryExistBook(int borrow_b_id) throws SQLException {
return borrowdao.queryExistBook(borrow_b_id);
}
/**
*
*/
public boolean queryIsBorrowBook(int borrow_b_id,String count)throws SQLException {
return borrowdao.queryIsBorrowBook(borrow_b_id, count);
}
}

@ -0,0 +1,209 @@
package View;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import Controller.PageQueryCon;
import Controller.ReaderCon;
import Controller.ReaderTypeCon;
import Tool.InputLimit;
import Tool.PubJdialog;
import Tool.TableTool;
/**
*
*/
public class ManageReader {
int row;
String studentNumber, dept, classes, tele, email;
String readerTypeInfo;
boolean isCompile, refresh;
ReaderTypeCon readerTypeCon = new ReaderTypeCon();
ReaderCon readerCon = new ReaderCon();
protected JPanel addPanel2() throws SQLException {
JPanel panel = new JPanel(new BorderLayout());
JPanel jpanup_reader = new JPanel();
jpanup_reader.setLayout(null);
jpanup_reader.setPreferredSize(new Dimension(1000, 80));
JButton[] jbt_reader = { new JButton("查询读者信息"), new JButton("新增读者信息"), new JButton("删除读者信息"),
new JButton("修改读者信息") };
JTextField jtext_reader = new JTextField();
JComboBox<String> jcb_reader = new JComboBox<String>();
for (int i = 0; i < jbt_reader.length; i++) {
jbt_reader[i].setBounds(370 + i * 130, 20, 120, 30);
jpanup_reader.add(jbt_reader[i]);
}
jtext_reader.setBounds(160, 20, 200, 30);
jtext_reader.addFocusListener(new InputLimit(jtext_reader, "学号/姓名/院系/班级"));//
// 设置文诓提示的外部类监听
jcb_reader.setBounds(50, 20, 80, 30);
jcb_reader.addItem("全部");
String[] readerType = readerTypeCon.getReaderType();
for (int k = 0; k < readerType.length; k++) {
jcb_reader.addItem(readerType[k]);
}
jcb_reader.setVisible(true);
// 下拉框点击事件
jcb_reader.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
if (e.getStateChange() == ItemEvent.SELECTED) {
if (jcb_reader.getSelectedItem() == "全部") {
readerTypeInfo = "*";
} else {
readerTypeInfo = jcb_reader.getSelectedItem().toString();
}
}
}
});
Vector<String> columnNameReader = new Vector<String>();// 字段名
String[] columnReader = { "学号", "姓名", "性别", "读者类型", "院系", "班级", "手机号码", "电子邮箱" };
for (int k = 0; k < columnReader.length; k++) {
columnNameReader.add(columnReader[k]);
}
DefaultTableModel dfttable_reader = new DefaultTableModel(readerCon.seleReader(), columnNameReader);
JTable table_reader = new JTable(dfttable_reader) {
public boolean isCellEditable(int row, int column) {
return false;// 表格不允许被编辑
}
};
ListSelectionModel selectionModel = table_reader.getSelectionModel();// 创建表格选择器
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);// 一次只能选择一个列表索引
selectionModel.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
if (selectionModel.getValueIsAdjusting()) {
if(table_reader.getSelectedRow()<0) {
return;
}
row=table_reader.getSelectedRow();
studentNumber = table_reader.getValueAt(table_reader.getSelectedRow(), 0).toString();
dept = table_reader.getValueAt(table_reader.getSelectedRow(), 4).toString();
classes = table_reader.getValueAt(table_reader.getSelectedRow(), 5).toString();
tele = table_reader.getValueAt(table_reader.getSelectedRow(), 6).toString();
email = table_reader.getValueAt(table_reader.getSelectedRow(), 7).toString();
}
}
});
//设置表格的公共属性
TableTool.setTable(table_reader, dfttable_reader);
table_reader.setPreferredScrollableViewportSize(new Dimension(900, 700));// 超过范围出现滚动条
JScrollPane scrollPane = new JScrollPane(table_reader);
jpanup_reader.add(jcb_reader);
jpanup_reader.add(jtext_reader);
panel.add(jpanup_reader, BorderLayout.NORTH);
panel.add(scrollPane);
// 查询
jbt_reader[0].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dfttable_reader.setRowCount(0);
dfttable_reader.fireTableDataChanged();
try {
if (readerTypeInfo == "*" || readerTypeInfo == null) {
if (jtext_reader.getText().equals("学号/姓名/院系/班级") || jtext_reader.getText().equals("")) {
dfttable_reader.setDataVector(readerCon.seleReader(), columnNameReader);
} else {
dfttable_reader.setDataVector(readerCon.queryReaderInfo(jtext_reader.getText(),
jtext_reader.getText(), jtext_reader.getText(), jtext_reader.getText()),
columnNameReader);
}
} else {
if (jtext_reader.getText().equals("学号/姓名/院系/班级")) {
jtext_reader.setText("");
}
dfttable_reader.setDataVector(
readerCon.seleReaderInfo(jtext_reader.getText(), jtext_reader.getText(),
jtext_reader.getText(), jtext_reader.getText(), readerTypeInfo),
columnNameReader);
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
studentNumber = TableTool.setNull(table_reader, studentNumber);
}
});
// 新增
jbt_reader[1].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
new Login();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
studentNumber = TableTool.setNull(table_reader, studentNumber);
}
});
// 删除
jbt_reader[2].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (studentNumber != null) {
try {
int c = JOptionPane.showConfirmDialog(null, "是否确定删除此图书类型", "验证操作", JOptionPane.YES_NO_OPTION);
if (c == JOptionPane.YES_OPTION) {
readerCon.dropReader(studentNumber);
dfttable_reader.removeRow(table_reader.getSelectedRow());// 删除表格中的这一行
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} else {
JOptionPane.showMessageDialog(null, "您没有选中读者!!!", "操作失败", JOptionPane.ERROR_MESSAGE);
}
studentNumber = TableTool.setNull(table_reader, studentNumber);
}
});
// 更新
jbt_reader[3].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JLabel[] jlab_reader = { new JLabel("学号:"), new JLabel("院系:"), new JLabel("班级:"), new JLabel("手机号:"),
new JLabel("邮箱:") };
JLabel[] jlab_hint = { new JLabel("不可修改"), new JLabel("中文汉字"), new JLabel("中文汉字或者数字"),
new JLabel("13、14、15、17、18开头"), new JLabel("邮箱格式")};
JTextField[] jtext_reader = new JTextField[5];
Object[] readerUpdata = { studentNumber, dept, classes, tele, email };
if (studentNumber != null) {
try {
new PubJdialog(210, 5, jlab_reader, jtext_reader, readerUpdata, 2,jlab_hint).setVisible(true);
if (PubJdialog.success) {
table_reader.setValueAt(jtext_reader[1].getText(), row, 4);
table_reader.setValueAt(jtext_reader[2].getText(), row, 5);
table_reader.setValueAt(jtext_reader[3].getText(), row, 6);
table_reader.setValueAt(jtext_reader[4].getText(), row, 7);
PubJdialog.success=false;
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} else {
JOptionPane.showMessageDialog(null, "您没有选中读者!!!", "操作失败", JOptionPane.ERROR_MESSAGE);
}
studentNumber = TableTool.setNull(table_reader, studentNumber);
}
});
return panel;
}
}

@ -0,0 +1,153 @@
package View;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;
import Controller.ReaderCon;
import Controller.ReaderTypeCon;
import Tool.PubJdialog;
import Tool.TableTool;
/**
*
* @author rsw
*
*/
public class ManageReaderType {
int a, rt_id=-1, maxcount, maxday,row;
String readerType;
ReaderTypeCon readerTypeCon = new ReaderTypeCon();
ReaderCon readerCon =new ReaderCon();
boolean isCompile, refresh;// 是否可以编辑
protected JPanel addPanel3() throws SQLException {
JPanel panel = new JPanel(new BorderLayout());
JPanel jpanup_readerType = new JPanel();
jpanup_readerType.setLayout(null);
jpanup_readerType.setPreferredSize(new Dimension(1000, 80));
JButton[] jbt_readerType = {new JButton("新增读者类型"), new JButton("删除读者类型"),
new JButton("修改读者类型") };
for (int i = 0; i < jbt_readerType.length; i++) {
jbt_readerType[i].setBounds(300 + i * 150, 20, 120, 30);
jpanup_readerType.add(jbt_readerType[i]);
}
String[] columnreaderType = { "序号", "读者类型", "最大借阅数量", "最大借阅天数" };
Object[][] readerTypeData = readerTypeCon.queryReaderType();
DefaultTableModel dfttable_readerType = new DefaultTableModel(readerTypeData, columnreaderType);
JTable table_readerType = new JTable(dfttable_readerType) {
public boolean isCellEditable(int row, int column) {
return false;// 表格不允许被编辑
}
};
ListSelectionModel selectionModel = table_readerType.getSelectionModel();// 创建表格选择器
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);// 一次只能选择一个列表索引
selectionModel.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
if (selectionModel.getValueIsAdjusting()) {
if(table_readerType.getSelectedRow()<0) {
return;
}
row=table_readerType.getSelectedRow();
readerType = table_readerType.getValueAt(table_readerType.getSelectedRow(), 1).toString();
rt_id = Integer
.valueOf(table_readerType.getValueAt(table_readerType.getSelectedRow(), 0).toString());
maxcount = Integer
.valueOf(table_readerType.getValueAt(table_readerType.getSelectedRow(), 2).toString());
maxday = Integer
.valueOf(table_readerType.getValueAt(table_readerType.getSelectedRow(), 3).toString());
}
}
});
//设置表格的公共属性
TableTool.setTable(table_readerType, dfttable_readerType);
table_readerType.setPreferredScrollableViewportSize(new Dimension(900, 700));// 超过范围出现滚动
JScrollPane scrollPane = new JScrollPane(table_readerType);
panel.add(jpanup_readerType, BorderLayout.NORTH);
panel.add(scrollPane);
// 新增读者类型
jbt_readerType[0].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
new PubJdialog(a).setVisible(true);
if(PubJdialog.success) {
dfttable_readerType.setDataVector(readerTypeCon.queryReaderType(), columnreaderType);
}
} catch (SQLException e1) {
e1.printStackTrace();
}
rt_id = TableTool.cancelTableSelected(table_readerType, rt_id);
}
});
// 删除读者类型
jbt_readerType[1].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (rt_id != -1) {
int c = JOptionPane.showConfirmDialog(null, "是否确定删除此读者类型", "验证操作", JOptionPane.YES_NO_OPTION);
if (c == JOptionPane.YES_OPTION) {
try {
if(readerCon.existReadertype(rt_id)) {
JOptionPane.showMessageDialog(null, "此读者类型已经有读者使用,请尝试将此读者类型的读者删除后在删除此读者类型!!!", "操作失败", JOptionPane.ERROR_MESSAGE);
}else {
System.out.println(rt_id);
readerTypeCon.deleteRederType(rt_id);
dfttable_readerType.removeRow(table_readerType.getSelectedRow());
}
} catch (SQLException e1) {
e1.printStackTrace();
}
}
} else {
JOptionPane.showMessageDialog(null, "您没有选中读者类型!!!", "操作失败", JOptionPane.ERROR_MESSAGE);
}
rt_id = TableTool.cancelTableSelected(table_readerType, rt_id);
}
});
// 修改读者类型
jbt_readerType[2].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JLabel[] jlab_readerType = { new JLabel("读者ID"), new JLabel("读者类型:"), new JLabel("最大借阅数量:"),
new JLabel("最大借阅天数:") };
JLabel[] jlab_hint = { new JLabel("不可修改"), new JLabel("中文汉字"), new JLabel("整数"),
new JLabel("整数")};
JTextField[] jtext_readerType = new JTextField[4];
Object[] readerTypeUpdata = { rt_id, readerType, maxcount, maxday };
if (rt_id != -1) {
try {
// 弹出修改读者类型的对话框
new PubJdialog(180, 4, jlab_readerType, jtext_readerType, readerTypeUpdata, 3,jlab_hint).setVisible(true);
if (PubJdialog.success) {
table_readerType.setValueAt(jtext_readerType[1].getText(), row, 1);
table_readerType.setValueAt(jtext_readerType[2].getText(), row, 2);
table_readerType.setValueAt(jtext_readerType[3].getText(), row, 3);
PubJdialog.success=false;
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} else {
JOptionPane.showMessageDialog(null, "您没有选中读者类型!!!", "操作失败", JOptionPane.ERROR_MESSAGE);
}
rt_id = TableTool.cancelTableSelected(table_readerType, rt_id);
}
});
return panel;
}
}

@ -0,0 +1,115 @@
package Controller;
import java.util.Vector;
import Model.access.BookAccess;
/**
*
* @author rsw
*
*/
public class PageQueryCon {
public static int curentPageIndex = 1; // 当前页码
public int pageIndex;
protected int countPerpage = 15; // 每页显示条数
public int pageCount; // 总页数
protected int recordCount; // 总记录条数
protected static Vector<Vector<Object>> bigPageVector = new Vector<Vector<Object>>();
protected Vector<Vector<Object>> smallPageVector = new Vector<Vector<Object>>();
BookAccess bookDao = new BookAccess();
/**
* 便
*/
public PageQueryCon(){
}
/**
*
*
* @param curentPageIndex
*/
public PageQueryCon(Vector<Vector<Object>> vec) {
bigPageVector=vec;
//设置页数
if (bigPageVector.size() % countPerpage == 0) {
pageCount = bigPageVector.size() / countPerpage;
} else {
pageCount = (bigPageVector.size() / countPerpage) + 1;
}
}
/**
*
*/
public Vector<Vector<Object>> selectCount() {
recordCount = bigPageVector.size();
for (int i = (curentPageIndex - 1) * countPerpage; i < curentPageIndex * countPerpage && i < recordCount; i++) {
smallPageVector.add(bigPageVector.get(i));
}
return smallPageVector;
}
/**
* Vector<Vector<Object>>
*
* @return
*/
public Vector<Vector<Object>> setCurentPageIndex() {
curentPageIndex=1;
return selectCount();
}
/**
*
*
* @return
*/
public Vector<Vector<Object>> previousPage() {
if (curentPageIndex > 1) {
curentPageIndex--;
System.out.println("当前页:" + curentPageIndex);
pageIndex=curentPageIndex;
}
return selectCount();
}
/**
*
*/
public Vector<Vector<Object>> nextPage() {
if (curentPageIndex < pageCount) {
curentPageIndex++;
pageIndex=curentPageIndex;
System.out.println("当前页:" + curentPageIndex);
}
return selectCount();
}
/**
*
*/
public Vector<Vector<Object>> lastPage() {
curentPageIndex = pageCount;
return selectCount();
}
/**
*
*/
public Vector<Vector<Object>> jumpPage(int page) {
curentPageIndex = page;
return selectCount();
}
/**
*
*/
public int pageCount() {
return pageCount;
}
}

@ -0,0 +1,109 @@
package Model.table;
/**
*
* @author rsw
*
*/
public class Reader {
private String number; //学号
private String name; //姓名
private String gender; //性别
private String dept; //学院
private String classes; //班级
private String tele; //电话号码
private String email; //电子邮件
private java.sql.Timestamp logindate;
private String password;
private String keeppass;
private int reader_type;
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
public String getClasses() {
return classes;
}
public void setClasses(String classes) {
this.classes = classes;
}
public String getTele() {
return tele;
}
public void setTele(String tele) {
this.tele = tele;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public java.sql.Timestamp getLogindate() {
return logindate;
}
public void setLogindate(java.sql.Timestamp logindate) {
this.logindate = logindate;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getKeeppass() {
return keeppass;
}
public void setKeeppass(String keeppass) {
this.keeppass = keeppass;
}
public int getReader_type() {
return reader_type;
}
public void setReader_type(int reader_type) {
this.reader_type = reader_type;
}
}

@ -0,0 +1,150 @@
package Model.access;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
/**
*
*
* @author rsw
*
*/
public class ReaderAccess {
/**
* reader
*/
public void insertReader(String r_number, String r_name, String gender, int reader_type, String dept,
String classes, String r_tele, String r_email, String keeppass, String r_password) throws SQLException {
String sql = "INSERT INTO bookms.reader(number,name,gender,reader_type,dept,classes,tele,email,keeppass,password) VALUES(?,?,?,?,?,?,?,?,?,?)";
Connect.update_public(sql, r_number, r_name, gender, reader_type, dept, classes, r_tele, r_email, keeppass,
r_password);
}
/**
*
*/
public boolean isNumber(String r_number) throws SQLException {
String sql = "SELECT number FROM bookms.reader WHERE number=?";
return Connect.exist(sql, r_number);
}
/**
*
*/
public boolean queryRerader(String r_number, String r_password) throws SQLException {
String sql = "SELECT number,password FROM bookms.reader WHERE number=? AND password=?";
return Connect.exist(sql, r_number, r_password);
}
/**
*
*/
public Vector<Vector<Object>> queryReaderInfo(String count) throws SQLException {
String sql = "SELECT * FROM bookms.reader WHERE number=?";
return Connect.queryExact_public(sql, count);
}
/**
*
*/
public void updateReader(String dept, String classes, String tele, String email, String number)
throws SQLException {
String sql = "UPDATE bookms.reader SET dept=?,classes=?,tele=?,email=? WHERE number=?";
Connect.update_public(sql, dept, classes, tele, email, number);
}
/**
*
*
* @throws SQLException
*/
public void updateReaderPass(String alterPass, String r_number, String r_password, String r_keepPass)
throws SQLException {
String sql = "UPDATE bookms.reader SET password='" + alterPass
+ "' WHERE number=? AND password=? AND keeppass=?";
Connect.update_public(sql, r_number, r_password, r_keepPass);
}
/**
*
*/
public Vector<Vector<Object>> seleReader() throws SQLException {
String sql = "SELECT number,name,gender,rt_name,dept,classes,tele,email,logindate from bookms.reader,bookms.readertype where bookms.reader.reader_type=bookms.readertype.rt_id";
return Connect.queryExact_public(sql);
}
/**
*
*/
public Vector<Vector<Object>> queryReaderInfo(String number, String name, String dept, String classes)
throws SQLException {
String sql = "SELECT number,name,gender,rt_name,dept,classes,tele,email,logindate from bookms.reader,bookms.readertype "
+ "where bookms.reader.reader_type=bookms.readertype.rt_id AND (number LIKE ? OR name LIKE ? OR dept LIKE ? OR classes LIKE ?)";
return Connect.queryDim_public(sql, number, name, dept, classes);
}
/**
*
*/
public Vector<Vector<Object>> seleReaderInfo(String number, String name, String dept, String classes,
String reader_type) throws SQLException {
String sql = "SELECT number,name,gender,rt_name,dept,classes,tele,email,logindate from bookms.reader,bookms.readertype "
+ "where bookms.reader.reader_type=bookms.readertype.rt_id AND (number LIKE ? OR name LIKE ? OR dept LIKE ? OR classes LIKE ?) AND rt_name=?";
Vector<Vector<Object>> dataVector = new Vector<Vector<Object>>(); // 存储所有数据里面每个小的Vector是存单行的
Connection conn = Connect.connectMySQL();// 调用数据库的连接方法
PreparedStatement ptmt = conn.prepareStatement(sql);
ptmt.setString(1, "%" + number + "%");
ptmt.setString(2, "%" + name + "%");
ptmt.setString(3, "%" + dept + "%");
ptmt.setString(4, "%" + classes + "%");
ptmt.setString(5, reader_type);
ResultSet rs = ptmt.executeQuery();
while (rs.next()) {
Vector<Object> vec = new Vector<Object>();// 就是这个存单行的最后放到上面的大的Vector里面
// 遍历数据库中每列的结果集 column需要遍历的列数
for (int i = 1; i <= 9; i++) {
vec.add(rs.getObject(i));
}
dataVector.add(vec);
}
Connect.closeMySQL();// 关闭连接
return dataVector;
}
/**
*
*/
public void dropReader(String studentNumber) throws SQLException {
String sql = "DELETE FROM bookms.reader WHERE number=?";
Connect.update_public(sql, studentNumber);
}
/**
*
*/
public boolean queryKeeppass(String forgetPass, String count) throws SQLException {
String sql = "SELECT keeppass FROM bookms.reader WHERE keeppass=? AND number=?";
return Connect.exist(sql, forgetPass, count);
}
/**
*
*/
public void resetPass(String forgetPass, String count, String newPass) throws SQLException {
String sql = "UPDATE bookms.reader SET password='" + newPass + "' WHERE keeppass=? AND number=? ";
Connect.update_public(sql, forgetPass, count);
}
/**
*
*/
public boolean existReadertype(int rt_id) throws SQLException {
String sql = "SELECT reader_type FROM bookms.reader WHERE reader_type=?";
return Connect.exist(sql, rt_id);
}
}

@ -0,0 +1,115 @@
package Controller;
import java.sql.SQLException;
import java.util.Vector;
import Model.access.ReaderAccess;
/**
*
* @author rsw
*
*/
public class ReaderCon {
ReaderAccess readerDao = new ReaderAccess();
/**
* reader
*/
public void insertReader(String r_number, String r_name, String gender, int reader_type, String dept,
String classes, String r_tele, String r_email, String keeppass, String r_password) throws SQLException {
readerDao.insertReader(r_number, r_name, gender, reader_type, dept, classes, r_tele, r_email, keeppass,
r_password);
}
/**
*
*/
public boolean isNumber(String r_number) throws SQLException {
return readerDao.isNumber(r_number);
}
/**
*
*/
public boolean queryRerader(String r_number, String r_password) throws SQLException {
boolean find = readerDao.queryRerader(r_number, r_password);
return find;
}
/**
*
*/
public Vector<Vector<Object>> queryReaderInfo(String r_number) throws SQLException {
Vector<Vector<Object>> readerInfo = readerDao.queryReaderInfo(r_number);
return readerInfo;
}
/**
*
*/
public void updateReader(String dept, String classes, String tele, String email, String number)
throws SQLException {
readerDao.updateReader(dept, classes, tele, email, number);
}
/**
*
*/
public void updateReaderPass(String alterPass, String r_number, String r_password, String r_keepPass)
throws SQLException {
readerDao.updateReaderPass(alterPass, r_number, r_password, r_keepPass);
}
/**
*
*/
public Vector<Vector<Object>> seleReader() throws SQLException {
return readerDao.seleReader();
}
/**
*
*/
public Vector<Vector<Object>> queryReaderInfo(String number, String name, String dept, String classes)
throws SQLException {
Vector<Vector<Object>> readerInfo = readerDao.queryReaderInfo(number, name, dept, classes);
return readerInfo;
}
/**
*
*/
public Vector<Vector<Object>> seleReaderInfo(String number, String name, String dept, String classes,
String reader_type) throws SQLException {
return readerDao.seleReaderInfo(number, name, dept, classes, reader_type);
}
/**
*
*/
public void dropReader(String studentNumber) throws SQLException {
readerDao.dropReader(studentNumber);
}
/**
*
*/
public boolean queryKeeppass(String forgetPass, String count) throws SQLException {
return readerDao.queryKeeppass(forgetPass, count);
}
/**
*
*/
public void resetPass(String forgetPass, String count, String newPass) throws SQLException {
readerDao.resetPass(forgetPass, count, newPass);
}
/**
*
*
*/
public boolean existReadertype(int rt_id) throws SQLException {
return readerDao.existReadertype(rt_id);
}
}

@ -0,0 +1,44 @@
package Model.table;
/**
* ÁÕßÀàÐͱí×ÖÎ Ó³Éä
* @author rsw
*/
public class ReaderType {
private int rt_id;
private String rt_name;
private int maxcount;
private int maxday;
public void setRt_id(int rt_id) {
this.rt_id = rt_id;
}
public void setRt_name(String rt_name) {
this.rt_name = rt_name;
}
public void setMaxcount(int maxcount) {
this.maxcount = maxcount;
}
public void setMaxday(int maxday) {
this.maxday = maxday;
}
public int getRt_id() {
return rt_id;
}
public String getRt_name() {
return rt_name;
}
public int getMaxcount() {
return maxcount;
}
public int getMaxday() {
return maxday;
}
}

@ -0,0 +1,89 @@
package Model.access;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
/**
*
* @author rsw
*
*/
public class ReaderTypeAccess {
/**
*
* @throws SQLException
*/
public Object[][] queryReaderType() throws SQLException{
Connection conn = Connect.connectMySQL();
String sql = "SELECT * from bookms.readertype";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
int len = 0;
while(rs.next()){
len++;//遍历结果集,知道表中有多少行数据
}
Object[][] data_readerType = new Object[len][4];
rs.beforeFirst();
for(int i=0;i<len ;i++) {
rs.next();
data_readerType[i][0] = rs.getInt("rt_id");
data_readerType[i][1] = rs.getString("rt_name");
data_readerType[i][2] = rs.getInt("maxcount");
data_readerType[i][3] = rs.getInt("maxday");
}
Connect.closeMySQL();// 关闭连接
return data_readerType;
}
/**
* ID
*/
public int queryReaderTypeID(String reader_type) throws SQLException {
Connection conn = Connect.connectMySQL();
String sql = "SELECT rt_id from bookms.readertype WHERE rt_name=?";
PreparedStatement ptmt = conn.prepareStatement(sql);
ptmt.setString(1, reader_type);
ResultSet rs = ptmt.executeQuery();
int rt_id=0;
while (rs.next()) {
rt_id=rs.getInt("rt_id");
}
Connect.closeMySQL();// 关闭连接
return rt_id;
}
/**
*
*/
public Vector<Vector<Object>> queryPersonalType(String count) throws SQLException {
int column=3;
String sql="SELECT rt_name,maxcount,maxday FROM bookms.readertype "
+ "WHERE rt_id IN ( SELECT reader_type FROM bookms.reader WHERE number=? )";
return Connect.queryExact_public(sql,count);
}
/**
*
* @throws SQLException
*/
public void insertReaderType(String rt_name,int maxcont,int maxday) throws SQLException {
String sql = "INSERT INTO bookms.readertype(rt_name,maxcount,maxday) VALUES(?,?,?)";
Connect.update_public(sql, rt_name,maxcont,maxday);
}
/**
*
*/
public void deleteRederType(int rt_id) throws SQLException {
String sql = "DELETE FROM bookms.readertype WHERE rt_id=?";
Connect.update_public(sql, rt_id);
}
/**
*
*/
public void updateRederType(String readerType,int maxcount,int maxday,int rt_id) throws SQLException {
String sql = "UPDATE bookms.readertype SET rt_name=?,maxcount=?,maxday=? WHERE rt_id=?";
Connect.update_public(sql,readerType,maxcount ,maxday,rt_id);
}
}

@ -0,0 +1,68 @@
package Controller;
import java.sql.SQLException;
import java.util.Vector;
import javax.sound.midi.SysexMessage;
import Model.access.ReaderTypeAccess;
/**
*
* @author rsw
*
*/
public class ReaderTypeCon {
ReaderTypeAccess readerTypeDao = new ReaderTypeAccess();
/**
*
*/
public Object[][] queryReaderType() throws SQLException {
Object[][] data_readerType = readerTypeDao.queryReaderType();
return data_readerType;
}
/**
*
*/
public String[] getReaderType() throws SQLException {
Object[][] data_readerType = readerTypeDao.queryReaderType();
String[] readerType = new String[data_readerType.length];
for (int i = 0; i < data_readerType.length; i++) {
readerType[i] = data_readerType[i][1].toString();
}
return readerType;
}
/**
* ID
*/
public int queryReaderTypeID(String reader_type) throws SQLException {
int rt_id=readerTypeDao.queryReaderTypeID(reader_type);
return rt_id;
}
/**
*
*/
public Vector<Vector<Object>> queryPersonalType(String count) throws SQLException {
return readerTypeDao.queryPersonalType(count);
}
/**
*
*/
public void insertReaderType(String rt_name,int maxcont,int maxday) throws SQLException {
readerTypeDao.insertReaderType(rt_name, maxcont, maxday);
}
/**
*
*/
public void deleteRederType(int rt_id) throws SQLException {
readerTypeDao.deleteRederType(rt_id);
}
/**
*
*/
public void updateRederType(String readerType,int maxcount,int maxday,int rt_id) throws SQLException {
readerTypeDao.updateRederType(readerType,maxcount ,maxday,rt_id);
}
}
Loading…
Cancel
Save