📄 smschool.java
字号:
catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 保存数据库到DB
*
* @param con
* @throws SQLException
*/
private void saveToDB(Connection con) throws SQLException {
PreparedStatement pstmt = null;
try {
pstmt = con.prepareStatement(SAVE_SCHOOL);
pstmt.setInt(1, this.provinceId);
pstmt.setInt(2, this.cityId);
pstmt.setInt(3, this.lvId);
pstmt.setString(4, this.schoolName);
pstmt.setInt(5, this.schoolId);
pstmt.executeUpdate();
}
finally {
try {
pstmt.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 保存信息修改;当对该类的属性进行更改后,可以使用该方法进行写入数据库操作。
*
*/
public void save() {
if (this.isChanged) {
try {
saveToDB();
}
catch (UnacceptableException ue) {
}
}
}
/**
* 获取该学校所拥有的班级总数
*
* @return
* @throws UnacceptableException
*/
public int getSMClassCount() throws UnacceptableException {
int count = -1;
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = DBManager.getConnection();
pstmt = conn.prepareStatement(CLASS_COUNT);
pstmt.setInt(1, this.schoolId);
rs = pstmt.executeQuery();
if (rs.next()) {
count = rs.getInt(1);
}
}
catch (SQLException sqle) {
}
finally {
DBManager.closeObject(conn, pstmt, rs);
}
return count;
}
/**
* 获取班级
*
* @param classid
* 班级ID
* @return
* @throws SMClassNotFoundException
* @throws UnacceptableException
*/
public SMClass getSMClass(int classid) throws SMClassNotFoundException,
UnacceptableException {
return new SMClass(classid);
}
/**
* 根据“学校ID”获取所有这个学校所拥有的班级信息。
*
* @return
* @throws UnacceptableException
*/
public SMClass[] getSMClasses() throws UnacceptableException {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
SMClass[] iSMClass = null;
int number = getSMClassCount();
if (number >= 1) {
iSMClass = new SMClass[number];
try {
conn = DBManager.getConnection();
pstmt = conn.prepareStatement(ALL_CLASS_FOR_THIS_SCHOOL);
pstmt.setInt(1, this.schoolId);
rs = pstmt.executeQuery();
for (int i = 1; i <= number; i++) {
iSMClass[i] = new SMClass(rs.getInt(1));
}
}
catch (Exception e) {
throw new UnacceptableException("数据库操作失败!", e);
}
finally {
DBManager.closeObject(conn, pstmt, rs);
}
}
return iSMClass;
}
/**
* 搜索班级 ,功能与getSMClasses()方法大体相同,只是多了班级名称参数,和班级入学时间。
*
* @param beginyear
* @param classname
* @return
* @throws SMClassNotFoundException
* @throws UnacceptableException
*/
public SMClass[] searchSMClass(String beginyear, String classname) throws
SMClassNotFoundException, UnacceptableException {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
SMClass[] iSMClass = null;
int number = -1;
try {
conn = DBManager.getConnection();
if (classname != "" && classname!=null) {
pstmt = conn.prepareStatement("SELECT count(1) FROM sm_class WHERE schoolid=? AND beginyear=? AND classname LIKE ?");
pstmt.setInt(1, this.schoolId);
pstmt.setString(2, beginyear);
pstmt.setString(3, "%" + classname + "%");
}
else if(beginyear!=null && beginyear!="") {
pstmt = conn.prepareStatement(
"SELECT count(1) FROM sm_class WHERE schoolid=? AND beginyear=?");
pstmt.setInt(1, this.schoolId);
pstmt.setString(2, beginyear);
}
else {
pstmt = conn.prepareStatement(
"SELECT count(1) FROM sm_class WHERE schoolid=?");
pstmt.setInt(1, this.schoolId);
}
rs = pstmt.executeQuery();
if (rs.next()) {
number = rs.getInt(1);
}
}
catch (SQLException sqle) {}
if (number >= 1) {
iSMClass = new SMClass[number];
try {
conn = DBManager.getConnection();
if (classname != "" && classname!=null) {
pstmt = conn.prepareStatement(SEARCH_CLASS_FROM_THIS_SCHOOL);
pstmt.setInt(1, this.schoolId);
pstmt.setString(2, beginyear);
pstmt.setString(3, "%" + classname + "%");
}
else if(beginyear!=null && beginyear!="") {
pstmt = conn.prepareStatement(
SEARCH_CLASS_FROM_THIS_SCHOOL_NO_CLASSNAME);
pstmt.setInt(1, this.schoolId);
pstmt.setString(2, beginyear);
}
else {
pstmt = conn.prepareStatement(
SEARCH_CLASS_FROM_THIS_SCHOOL_NO_CLASSNAME_NO_BEGINYEAR);
pstmt.setInt(1, this.schoolId);
}
rs = pstmt.executeQuery();
for (int i = 0; i < number && rs.next(); i++) {
iSMClass[i] = new SMClass(rs.getInt(1));
}
}
catch (Exception e) {
throw new UnacceptableException("数据库操作失败!", e);
}
finally {
DBManager.closeObject(conn, pstmt, rs);
}
}
return iSMClass;
}
/**
* 添加新班级
*
* @param classname
* 班级名称
* @param beginyear
* 入学年份
* @param username
* 创始人用户名
* @return
* @throws SMClassAlreadyExistsException
* @throws UnacceptableException
*/
public SMClass addNewSMClass(String classname, String beginyear,
String username) throws
SMClassAlreadyExistsException,
UnacceptableException {
return new SMClass(this.schoolId, classname, beginyear, username);
}
/**
* 删除班级相关信息
*
* @param classid
* @throws SMClassNotFoundException
* @throws UnacceptableException
*/
public void deleteSMClass(int classid) throws SMClassNotFoundException,
UnacceptableException {
try {
this.getSMClass(classid).deleteSMMembers();
}
catch (SMMemberNotFoundException smme) {
/* do nothing */
}
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = DBManager.getConnection();
pstmt = conn.prepareStatement(DELETE_CLASS);
pstmt.setInt(1, classid);
pstmt.executeUpdate();
}
catch (SQLException sqle) {
throw new UnacceptableException("删除班级失败!", sqle);
}
finally {
DBManager.closeObject(conn, pstmt, rs);
}
}
/**
* 删除所有班级相关信息
*
* @throws UnacceptableException
*/
public void deleteSMClasses() throws UnacceptableException {
SMClass[] smc = this.getSMClasses();
try {
for (int i = 0; i <= smc.length; i++) {
smc[i].deleteSMMembers();
}
}
catch (SMMemberNotFoundException smme) {
/* do nothing */
}
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = DBManager.getConnection();
pstmt = conn.prepareStatement(DELETE_ALL_CLASS);
pstmt.setInt(1, this.schoolId);
pstmt.executeUpdate();
}
catch (SQLException sqle) {
throw new UnacceptableException("删除班级失败!", sqle);
}
finally {
DBManager.closeObject(conn, pstmt, rs);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -