Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1800112
  • 博文数量: 600
  • 博客积分: 10581
  • 博客等级: 上将
  • 技术积分: 6205
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-06 10:13
文章分类
文章存档

2016年(2)

2015年(9)

2014年(8)

2013年(5)

2012年(8)

2011年(36)

2010年(34)

2009年(451)

2008年(47)

分类: Java

2008-12-19 09:57:54

  1. package com.szxhdz.dao;   
  2.   
  3. import java.sql.Blob;   
  4. import java.sql.ResultSet;   
  5. import java.sql.SQLException;   
  6. import java.util.List;   
  7.   
  8. import org.springframework.jdbc.core.JdbcTemplate;   
  9. import org.springframework.jdbc.core.RowMapper;   
  10.   
  11. import com.szxhdz.beans.MsgMessage;   
  12. import com.szxhdz.util.Factory;   
  13.   
  14. public class MessageDao {   
  15.     private static MessageDao instance =null;   
  16.     public static synchronized MessageDao getInstance(){   
  17.         if(instance==null)   
  18.         instance = (MessageDao)Factory.getBean("messageDao");   
  19.         return instance;   
  20.     }   
  21.     private JdbcTemplate jdbcTemplate;   
  22.   
  23.     public JdbcTemplate getJdbcTemplate() {   
  24.         return jdbcTemplate;   
  25.     }   
  26.   
  27.     public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {   
  28.         this.jdbcTemplate = jdbcTemplate;   
  29.     }   
  30.   
  31.     public int getCount() {   
  32.         int count = getJdbcTemplate().queryForInt(   
  33.                 "select count(*) from msg_message");   
  34.         return count;   
  35.     }   
  36.     public int getCount(String sql) {   
  37.         int count = getJdbcTemplate().queryForInt(sql);   
  38.         return count;   
  39.     }   
  40.   
  41.     public int getNextval() {   
  42.         int nextval = getJdbcTemplate().queryForInt(   
  43.                 "select get_id.nextval from dual");   
  44.         return nextval;   
  45.     }   
  46.   
  47.     private class MessageRowMapper implements RowMapper {   
  48.   
  49.         public Object mapRow(ResultSet rs, int rowNumber) throws SQLException {   
  50.             MsgMessage msgMessage = new MsgMessage();   
  51.              try {   
  52.                 Blob blob = rs.getBlob("m_content");   
  53.                 int i = (int) blob.length();   
  54.                 byte[] bytes = blob.getBytes(1, i);   
  55.                 msgMessage.setMcontent(new String(bytes, "GBK"));   
  56.             } catch (Exception e) {   
  57.                 e.printStackTrace();   
  58.                 // TODO: handle exception   
  59.             }   
  60.             msgMessage.setMdatetime(rs.getString("m_datetime"));   
  61.             msgMessage.setMdeptid(new Integer(rs.getInt("M_DEPTID")));   
  62.             msgMessage.setMfromip(rs.getString("M_FROMIP"));   
  63.             msgMessage.setMhidetitle(new Integer(rs.getInt("M_HIDETITLE")));   
  64.             msgMessage.setMid(new Integer(rs.getInt("M_ID")));   
  65.             msgMessage.setMkeywords(rs.getString("M_KEYWORDS"));   
  66.             msgMessage.setMkindid(new Integer(rs.getInt("M_KINDID")));   
  67.             msgMessage.setMneedsignin(new Integer(rs.getInt("M_NEEDSIGNIN")));   
  68.             msgMessage.setMoriginalfilename(rs.getString("M_ORIGINALFILENAME"));   
  69.             msgMessage.setMreadtimes(new Integer(rs.getInt("M_READTIMES")));   
  70.             msgMessage.setMreviewtimes(new Integer(rs.getInt("M_REVIEWTIMES")));   
  71.             msgMessage.setMsavefilename(rs.getString("M_SAVEFILENAME"));   
  72.             msgMessage.setMsavepathfilename(rs.getString("M_SAVEPATHFILENAME"));   
  73.             msgMessage.setMsource(rs.getString("M_SOURCE"));   
  74.             msgMessage.setMstate(new Integer(rs.getInt("M_STATE")));   
  75.             msgMessage.setMsummary(rs.getString("M_SUMMARY"));   
  76.             msgMessage.setMtimestampposition(new Integer(rs.getInt("M_TIMESTAMPPOSITION")));   
  77.             msgMessage.setMtitle(rs.getString("M_TITLE"));   
  78.             msgMessage.setMtitleimgfilename(rs.getString("M_TITLEIMGFILENAME"));   
  79.             msgMessage.setMupdatetime(rs.getString("M_UPDATETIME"));   
  80.             msgMessage.setMuserid(new Integer(rs.getInt("M_USERID")));   
  81.   
  82.             return msgMessage;   
  83.         }   
  84.     }   
  85.   
  86.     public MsgMessage getMsgMessage(int id) {   
  87.         List list = getJdbcTemplate().query(   
  88.                 "select * from msg_message where m_id=?",   
  89.                 new Object[] { new Integer(id) }, new MessageRowMapper());   
  90.         MsgMessage msgMessage = (MsgMessage) list.get(0);   
  91.         return msgMessage;   
  92.     }   
  93.   
  94.     public List getMsgMessages() {   
  95.         List list = getJdbcTemplate().query("select * from msg_Message order by m_id desc ",   
  96.                 new MessageRowMapper());   
  97.         return list;   
  98.     }   
  99.     /**  
  100.      *  
  101.      * @param kinds   信息类别  
  102.      * @param curPage 当前页  
  103.      * @param pageSize 每页记录数  
  104.      * @return  
  105.      */  
  106.     public List getMsgMessages(String sql,int startRow,int endRow) {   
  107.    //     System.out.println(sql);   
  108.         StringBuffer pagingSelect = new StringBuffer( sql.length()+100 );   
  109.         pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( ");   
  110.         pagingSelect.append(sql);   
  111.         pagingSelect.append(" ) row_ where rownum <= "+endRow+") where rownum_ >= "+startRow+"");   
  112.         List list = getJdbcTemplate().query(pagingSelect.toString(), new MessageRowMapper());   
  113.         return list;   
  114.     }   
  115.     /**  
  116.      * 审核  
  117.      * @param m_id  
  118.      */  
  119.   
  120.     public void Auditing(String m_id){   
  121.         String sql="update msg_message set m_state=1 where m_id in("+m_id+")";   
  122.         getJdbcTemplate().update(sql);   
  123.     }   
  124.     /**  
  125.      * 反审核  
  126.      * @param m_id  
  127.      */  
  128.     public void UnAuditing(int m_id){   
  129.         String sql="update msg_message set m_state=0 where m_id="+m_id;   
  130.         getJdbcTemplate().update(sql);   
  131.     }   
  132.     public int getState(int m_id){   
  133.         Integer state =(Integer)getJdbcTemplate().queryForObject("select m_state from msg_message t where m_state=?",new Object[]{new Integer(m_id)},Integer.class);   
  134.         return state.intValue();   
  135.     }   
  136.       
  137. /**  
  138.  * 删除所选的记录  
  139.  */  
  140.     public void deleteMsgMessage(String ids) {   
  141.         String sql = "delete from msg_Message where m_id in(" + ids + ")";   
  142.         getJdbcTemplate().update(sql);   
  143.     }   
  144.     /**  
  145.      * 所选记录移入回收站  
  146.      * @param ids  
  147.      */  
  148.     public void moveToTrash(String ids) {   
  149.         String sql = "update msg_Message set m_state=-1 where m_id in(" + ids + ")";   
  150.         getJdbcTemplate().update(sql);   
  151.     }   
  152.     /**  
  153.      * 得到要签收的信息  
  154.      * @param u_id  
  155.      * @return  
  156.      */  
  157.     public List getMessagesSign(int u_id){   
  158.         String  sql="select * from msg_message where M_STATE=1 and m_Id in (select distinct(S_MSGID) from msg_sign_in where S_SIGNINDATE is null and s_userid="+u_id+")";   
  159.         List list = getJdbcTemplate().query(sql, new MessageRowMapper());   
  160.         return list;   
  161.     }   
  162.     /**  
  163.      * 得到这条消息的所有签收用户的签收状态  
  164.      * @param m_id  
  165.      * @return  
  166.      */  
  167.     public List getSignMessageByMsgId(String m_id){   
  168.         String sql="select u_name ,s.* from msg_user u,(select i.s_userid,i.s_msgid,i.s_limitdate,trunc(i.s_signindate) as s_signindate,i.s_remark from msg_sign_in i where s_msgId=" + m_id  + ") s where s.s_userid=u.u_id";   
  169.         List list = getJdbcTemplate().queryForList(sql);   
  170.         return list;   
  171.     }   
  172.     public void deleteHisMessage(String ids) {   
  173.         String sql = "delete from msg_message_His where m_id in(" + ids + ")";   
  174.         getJdbcTemplate().update(sql);   
  175.     }   
  176. }  
阅读(2962) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~