📄 storageaction.java
字号:
/* * 作者: 胡李青 * qq: 31703299 * Copyright (c) 2007 huliqing * 主页 http://www.tbuy.biz/ * 你可以免费使用该软件,未经许可请勿作用于任何商业目的,如有技术问题请与本人联系! */package biz.tbuy.bbs;import biz.tbuy.bbs.bean.BaseBean;import biz.tbuy.common.logs.Elog;import biz.tbuy.common.pool.ProxyConn;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;/** * @author huliqing * <p><b>qq:</b>31703299 * <p><b>E-mail:</b> * <a href="mailto:huliqing.cn@gmail.com">huliqing.cn@gmail.com</a> * <p><b>Homepage:</b> * <a href="http://www.tbuy.biz/">http://www.tbuy.biz/</a> */public class StorageAction extends BaseBean{ public StorageAction() {} /** * 添加Storage进数据库 * @param storage 需要被添加进数据库的StorageModel * @return true 如果添加成功, 否则false; */ public static boolean addStorage(StorageModel storage) { boolean isOk = false; String sql = "insert into storage (" + "s_byTopic, " + "s_title, " + "s_byUser, " + "s_beRevoke) " + "values (?, ?, ?, ?)"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ps.setInt(1, storage.getByTopic()); ps.setString(2, storage.getTitle()); ps.setString(3, storage.getByUser()); ps.setBoolean(4, storage.getBeRevoke()); isOk = ps.executeUpdate() > 0; } catch (SQLException sqle) { Elog.log("StorageAction:addStorage:" + sqle.getMessage()); } finally { myConn.close(); } return isOk; } /** * 获取特定用户的文章收藏列表,主要用于分页 * @param userId 用户的id * @param startRow 开始行 * @param pageSize 要搜索的最多条数 * @return storages StorageModel的ArrayList集合 */ public static List<StorageModel> getStoragesByUser(String userId, int startRow, int pageSize) { List<StorageModel> storages = new ArrayList<StorageModel>(); String sql = "select * from storage where s_byUser=? " + "order by s_num desc " + "limit ?, ?"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ps.setString(1, userId); ps.setInt(2, startRow); ps.setInt(3, pageSize); ResultSet rs = ps.executeQuery(); while (rs.next()) { storages.add(getStorage(rs)); } } catch (SQLException sqle) { Elog.log("StorageAction:getStoragesByUser:" + sqle.getMessage()); } finally { myConn.close(); } return storages; } /** * 获取特定用户的收藏列表的条数 * @param userId 收藏者的id * @return total 该收藏者收藏的总记录数,没有则返回0 */ public static int getTotalByUser(String userId) { int total = 0; String sql = "select * from storage where s_byUser=?"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ps.setString(1, userId); ResultSet rs = ps.executeQuery(); rs.last(); total = rs.getRow(); } catch (SQLException sqle) { Elog.log("StorageAction:getTotalByUser:" + sqle.getMessage()); } finally { myConn.close(); } return total; } /** * 判断特定用户是否已经收藏了主题 * @param id 被收藏的主题的id * @param byUser 收藏者的id * @return true 如果该用户已经收藏了该主题,否则false */ public static boolean isExistStorage(int id, String byUser) { boolean exist = false; String sql = "select * from storage where s_byUser=? and s_byTopic=?"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ps.setString(1, byUser); ps.setInt(2, id); exist = ps.executeQuery().next(); } catch (SQLException sqle) { Elog.log("SQLException:StorageAction:isExistStorage:" + sqle.getMessage()); } finally { myConn.close(); } return exist; } /** * 通过StorageModel的id 删除该Storage,该方法将彻底删除该收藏信息 * @param id StorageModel的id(即s_num) * @return true 如果删除成功, 否则false; */ public static boolean deleteStorage(int id) { boolean isOk = false; String sql = "delete from storage where s_num=?"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ps.setInt(1, id); isOk = ps.executeUpdate() > 0; } catch (SQLException sqle) { Elog.log("SQLException:StorageAction:deleteStorage:" + sqle.getMessage()); } finally { myConn.close(); } return isOk; } /** * 同时删除多个StorageModel,彻底除出数据库 * @param storages StorageModel的ArrayList集合 */ public static void deleteStorages(List<StorageModel> storages) { String sql = "delete from storage where s_num=?"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); for (StorageModel storage : storages) { ps.setInt(1, storage.getNum()); ps.executeUpdate(); } } catch (SQLException sqle) { Elog.log("SQLException:StorageAction:deleteStorages:" + sqle.getMessage()); } finally { myConn.close(); } } /** * 通过ResultSet获得StorageModel * @param rs * @return storage */ public static StorageModel getStorage(ResultSet rs) { StorageModel storage = new StorageModel(); try { storage.setBeRevoke(rs.getBoolean("s_beRevoke")); storage.setByTopic(rs.getInt("s_byTopic")); storage.setByUser(rs.getString("s_byUser")); storage.setNum(rs.getInt("s_num")); storage.setTitle(rs.getString("s_title")); } catch (Exception e) { Elog.log("Exception:StorageAction:getStorage:" + e.getMessage()); } return storage; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -