- 浏览: 101410 次
- 性别:
- 来自: 深圳
最新评论
-
shuhai42:
曙海嵌入式学院提供以下课程的培训--中国最大的FPGA,DSP ...
敏捷开发之路,未来软件开发的变革? -
kaki:
建议吸收大家意见,打包下载吧。
泛型dao架构实现,封装crud等基本操作 -
xuhbiao:
不错,学习了。。
泛型dao架构实现,封装crud等基本操作 -
danjp:
LZ
单从你DAO的借口定制来说,我觉得不是太好,特别是更新方 ...
泛型dao架构实现,封装crud等基本操作 -
danjp:
jeff312 写道mfdkydyw4 写道EXvision ...
泛型dao架构实现,封装crud等基本操作
package com.szxhdz.dao; import java.sql.Blob; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import com.szxhdz.beans.MsgMessage; import com.szxhdz.util.Factory; public class MessageDao { private static MessageDao instance =null; public static synchronized MessageDao getInstance(){ if(instance==null) instance = (MessageDao)Factory.getBean("messageDao"); return instance; } private JdbcTemplate jdbcTemplate; public JdbcTemplate getJdbcTemplate() { return jdbcTemplate; } public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } public int getCount() { int count = getJdbcTemplate().queryForInt( "select count(*) from msg_message"); return count; } public int getCount(String sql) { int count = getJdbcTemplate().queryForInt(sql); return count; } public int getNextval() { int nextval = getJdbcTemplate().queryForInt( "select get_id.nextval from dual"); return nextval; } private class MessageRowMapper implements RowMapper { public Object mapRow(ResultSet rs, int rowNumber) throws SQLException { MsgMessage msgMessage = new MsgMessage(); try { Blob blob = rs.getBlob("m_content"); int i = (int) blob.length(); byte[] bytes = blob.getBytes(1, i); msgMessage.setMcontent(new String(bytes, "GBK")); } catch (Exception e) { e.printStackTrace(); // TODO: handle exception } msgMessage.setMdatetime(rs.getString("m_datetime")); msgMessage.setMdeptid(new Integer(rs.getInt("M_DEPTID"))); msgMessage.setMfromip(rs.getString("M_FROMIP")); msgMessage.setMhidetitle(new Integer(rs.getInt("M_HIDETITLE"))); msgMessage.setMid(new Integer(rs.getInt("M_ID"))); msgMessage.setMkeywords(rs.getString("M_KEYWORDS")); msgMessage.setMkindid(new Integer(rs.getInt("M_KINDID"))); msgMessage.setMneedsignin(new Integer(rs.getInt("M_NEEDSIGNIN"))); msgMessage.setMoriginalfilename(rs.getString("M_ORIGINALFILENAME")); msgMessage.setMreadtimes(new Integer(rs.getInt("M_READTIMES"))); msgMessage.setMreviewtimes(new Integer(rs.getInt("M_REVIEWTIMES"))); msgMessage.setMsavefilename(rs.getString("M_SAVEFILENAME")); msgMessage.setMsavepathfilename(rs.getString("M_SAVEPATHFILENAME")); msgMessage.setMsource(rs.getString("M_SOURCE")); msgMessage.setMstate(new Integer(rs.getInt("M_STATE"))); msgMessage.setMsummary(rs.getString("M_SUMMARY")); msgMessage.setMtimestampposition(new Integer(rs.getInt("M_TIMESTAMPPOSITION"))); msgMessage.setMtitle(rs.getString("M_TITLE")); msgMessage.setMtitleimgfilename(rs.getString("M_TITLEIMGFILENAME")); msgMessage.setMupdatetime(rs.getString("M_UPDATETIME")); msgMessage.setMuserid(new Integer(rs.getInt("M_USERID"))); return msgMessage; } } public MsgMessage getMsgMessage(int id) { List list = getJdbcTemplate().query( "select * from msg_message where m_id=?", new Object[] { new Integer(id) }, new MessageRowMapper()); MsgMessage msgMessage = (MsgMessage) list.get(0); return msgMessage; } public List getMsgMessages() { List list = getJdbcTemplate().query("select * from msg_Message order by m_id desc ", new MessageRowMapper()); return list; } /** * * @param kinds 信息类别 * @param curPage 当前页 * @param pageSize 每页记录数 * @return */ public List getMsgMessages(String sql,int startRow,int endRow) { // System.out.println(sql); StringBuffer pagingSelect = new StringBuffer( sql.length()+100 ); pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( "); pagingSelect.append(sql); pagingSelect.append(" ) row_ where rownum <= "+endRow+") where rownum_ >= "+startRow+""); List list = getJdbcTemplate().query(pagingSelect.toString(), new MessageRowMapper()); return list; } /** * 审核 * @param m_id */ public void Auditing(String m_id){ String sql="update msg_message set m_state=1 where m_id in("+m_id+")"; getJdbcTemplate().update(sql); } /** * 反审核 * @param m_id */ public void UnAuditing(int m_id){ String sql="update msg_message set m_state=0 where m_id="+m_id; getJdbcTemplate().update(sql); } public int getState(int m_id){ Integer state =(Integer)getJdbcTemplate().queryForObject("select m_state from msg_message t where m_state=?",new Object[]{new Integer(m_id)},Integer.class); return state.intValue(); } /** * 删除所选的记录 */ public void deleteMsgMessage(String ids) { String sql = "delete from msg_Message where m_id in(" + ids + ")"; getJdbcTemplate().update(sql); } /** * 所选记录移入回收站 * @param ids */ public void moveToTrash(String ids) { String sql = "update msg_Message set m_state=-1 where m_id in(" + ids + ")"; getJdbcTemplate().update(sql); } /** * 得到要签收的信息 * @param u_id * @return */ public List getMessagesSign(int u_id){ 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+")"; List list = getJdbcTemplate().query(sql, new MessageRowMapper()); return list; } /** * 得到这条消息的所有签收用户的签收状态 * @param m_id * @return */ public List getSignMessageByMsgId(String m_id){ 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"; List list = getJdbcTemplate().queryForList(sql); return list; } public void deleteHisMessage(String ids) { String sql = "delete from msg_message_His where m_id in(" + ids + ")"; getJdbcTemplate().update(sql); } }
评论
2 楼
hyj_dx
2008-11-02
江南一根葱 写道
Factory 类呢 ?
呵呵,兄弟 ,Factory是什么并不重要,它只是一工具类,知道它可以获取spring句柄的实例就可以了。
1 楼
江南一根葱
2008-11-02
Factory 类呢 ?
发表评论
-
ExtJs+struts+spring+mybatis通用管理后台程序框架
2015-01-20 10:08 1253花了一段时间学习Extjs,总算学有所成,并在项目中有成 ... -
Oracle JOB问题解决汇总
2009-05-23 22:58 3741一。job的运行频率设置 1.每天固定时间运行,比如早 ... -
PostInsertEventListener 插入发生死循环问题
2009-01-15 11:18 2181package com.easou.ad.listener; ... -
怎么让文章自动适应表格
2009-01-09 23:24 923style="word-break:brea ... -
敏捷开发之路,未来软件开发的变革?
2008-12-27 19:51 3557敏捷开发这个名词已经不是第一次听到了,大家都推崇它好,就算是华 ... -
memcached使用与优化
2008-12-26 13:01 166391、客户端在与 memcached 服务建立连接之后,进行存取 ... -
spring hibernate 事务配置 2
2008-11-27 00:13 1212<bean id="txProxyTempl ... -
spring hibernate 事务配置
2008-11-27 00:07 1447<!--事务拦截器,激活事务管理器所必须的bean ... -
我也SHOW下JDBC底层操作工具类
2008-11-10 11:15 3393/* * JDBCUtil.java * * ... -
泛型dao架构实现,封装crud等基本操作
2008-11-10 11:07 4322今天闲着没事,根据公司 ... -
项目沟通7个好习惯
2008-11-07 13:17 905写道 简介 项目沟通7个好习惯 习惯一:态度积极 习惯二:牢记 ... -
webwork+hibernate+spring项目源代码自动生成(附源代码)
2008-11-05 22:39 1540自己写了一个自动生成源代码的工具,代码自动生成,以及一个完整项 ... -
eclipse快捷键大全
2008-11-02 20:58 8711. 常用快捷键 (1)Ctrl+Space 说明:内 ... -
一个js写的StringBuffer类
2008-11-02 11:15 1361function StringBuffer() { this ... -
oracle分页
2008-11-02 11:07 931从taba中获取第1到10条记录 select * fro ... -
转载40种网页常用小技巧(javascript)--备不时之需
2008-11-01 18:16 948• 转载40种网页常用小技巧(javascript)--备不时 ... -
webwork和spring整合
2008-11-01 18:11 1310始终没有搞明白在appfuse中是通过什么方式将webwork ... -
Struts标记库
2008-11-01 18:10 919Struts标记库JSP视窗组件 ... -
springIOC
2008-11-01 18:07 930首先想说说IoC(Inversion ... -
Spring+Hibernate+Struts框架分页
2008-11-01 18:06 1224我用的是Spring+Hibernate+Struts框架: ...
相关推荐
在整合Spring MVC、Spring和Spring JDBC的实例中,你可能会看到以下几个关键部分: 1. **配置文件**:包括Spring的主配置文件(如`applicationContext.xml`),其中定义了Bean的配置,包括DataSource、JdbcTemplate...
在本文中,我们将深入探讨Spring JDBC的应用实例,了解如何利用它来实现高效且灵活的数据访问。首先,我们需要理解Spring JDBC是如何通过JdbcTemplate和NamedParameterJdbcTemplate这两个主要工具来封装JDBC操作的。...
《Spring MVC + Spring + Spring JDBC 整合实例详解》 在Java Web开发中,Spring框架因其强大的功能和灵活的设计而备受推崇。Spring MVC、Spring核心模块以及Spring JDBC是Spring框架中的三大重要组成部分,它们...
在IT行业中,Spring框架是Java...通过上述知识点,我们可以理解Spring+JDBC实例是如何在实际项目中提升数据库操作的便捷性和可控性的。如果你想要深入学习,可以参考提供的博客链接或其他相关资料,进行实践和研究。
Spring JDBC是Spring框架的一个重要模块,它简化了Java数据库连接(JDBC)的使用,提供了更高级别的抽象,使得数据库操作更加简洁、易管理和模块化。这个"spring_JDBC整合包"显然包含了进行Spring JDBC开发所需的...
通过这个SpringJDBC.rar的案例,初学者可以学习到如何配置DataSource,如何创建JdbcTemplate实例,以及如何编写和执行SQL语句。同时,实践中还可以了解到如何将Spring JDBC整合到Spring Boot项目中,以及如何处理...
Spring JDBC是Spring框架的一部分,它提供了一种抽象层,使得开发者可以更方便地使用Java数据库连接(JDBC)来操作数据库。在这个实例源码中,我们看到的是一个基于`epet`宠物项目的完整实现,该项目可能包括了创建...
这个`springjdbc.zip`压缩包很可能包含了示例代码和配置文件,用于演示如何使用Spring JDBC来执行基本的数据库操作,如增、删、改、查。 1. **Spring JDBC模块**:Spring JDBC模块主要由`org.springframework.jdbc`...
在本实例中,我们将深入探讨Spring JDBC的使用,并以`SpringJdbcTemplate`为例来阐述其主要功能和优势。 首先,Spring JDBC通过`JdbcTemplate`和`NamedParameterJdbcTemplate`类提供了强大的数据库访问功能。`...
本实例将深入解析如何使用Spring JDBC Template进行数据库操作,并包含详细的测试用例。 首先,我们需要在项目中引入Spring JDBC的相关依赖。在Maven工程中,可以在pom.xml文件中添加如下依赖: ```xml ...
这个“SpringJDBC.rar”压缩包文件可能包含了关于如何在Spring框架中集成和使用JDBC的相关示例和教程。下面将详细解释Spring JDBC的核心概念、功能以及使用方法。 首先,Spring JDBC的核心目标是简化传统的JDBC编程...
Spring JDBC是Spring框架的一部分,它提供了一个更高级别的JDBC抽象层,简化了数据库操作。通过使用Template类(如JdbcTemplate或NamedParameterJdbcTemplate),我们可以避免编写大量的样板代码,比如手动打开和...
Spring JDBC是Spring框架的一个核心模块,它为Java数据库连接(JDBC)提供了一种抽象层,使得开发者可以更轻松地处理数据库操作。Spring JDBC模块的主要目标是减少对JDBC API的直接依赖,通过提供一种更加高级、易于...
Spring JDBC模块是Spring框架的一部分,它简化了Java Database Connectivity (JDBC)的使用,使得数据库操作更加简单且易于管理。本篇文章将深入探讨如何使用Spring JDBC在Spring 2.5版本中与MySQL数据库进行交互,...
在本文中,我们将深入探讨如何使用Spring JDBC进行数据库操作,并结合使用不同的连接池技术,包括Spring自带的、C3P0、DBCP和Druid。此外,我们还将介绍一个自定义的行映射器工具类,它在处理数据库查询结果时能提供...
在登录注册系统中,Spring JDBC将帮助我们执行插入、查询等数据库操作,如用户信息的存储和验证。 4. **MySQL数据库**:MySQL是一个开源的关系型数据库管理系统,用于存储用户账户信息。在登录注册系统中,我们需要...
为了实现CRUD操作,开发者会定义不同的方法来处理增删改查的请求,并使用SpringJDBC的`JdbcTemplate`或`SimpleJdbcTemplate`进行数据库操作。 权限过滤通常涉及到拦截器(Interceptor)的概念,SpringMVC提供了`...