package com.jy.modules.cms.query; import java.util.List; import java.util.Map; public interface queryJdbcTemplate { public List<Map<String, Object>> gtQueryForListMap(String sql) throws Exception; public Map getMap(String sql) throws Exception; public void update(String sql)throws Exception; public int count(String sql) throws Exception; public void delete(String sql) throws Exception; public void insert(String sql) throws Exception; public String userName(String userId) throws Exception; public String getMapValue(String sql) throws Exception; }
package com.jy.modules.cms.query; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import javax.sql.DataSource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; @Service("com.jy.modules.cms.queryJdbcTemplateimpl") public class queryJdbcTemplateimpl implements queryJdbcTemplate{ private static Logger logger = LoggerFactory.getLogger(queryJdbcTemplateimpl.class); @Autowired private DataSource dataSource; private JdbcTemplate jdbcTemplate = null; public synchronized JdbcTemplate getJdbcTemplate(){ if(jdbcTemplate==null){ jdbcTemplate = new JdbcTemplate(dataSource); } return jdbcTemplate; } /** * * @projectname 项目名称: cms * @packageclass 包及类名: com.jy.modules.cms.query.queryJdbcTemplate.java * @description 功能描述: 返回List<Map<String, Object>> 结果集 * @author 作 者: zhouzhiwei * @param 参 数: @param sql * @param 参 数: @return * @return 返回类型: List<Map<String,Object>> * @createdate 建立日期: 2015年6月23日上午10:10:17 */ public List<Map<String, Object>> gtQueryForListMap(String sql){ List<Map<String, Object>> list= new ArrayList<Map<String,Object>>(); try { list = this.getJdbcTemplate().queryForList(sql); logger.debug("执行成功-------------------------------sql="+sql); } catch (Exception e) { e.printStackTrace(); logger.debug("执行sql错误-----------------------------sql="+sql); } return list; } /** * * @projectname 项目名称: cms * @packageclass 包及类名: com.jy.modules.cms.query.queryJdbcTemplate.java * @description 功能描述: 只返回一条MAP数据 * @author 作 者: zhouzhiwei * @param 参 数: @param sql * @param 参 数: @return * @return 返回类型: Map * @createdate 建立日期: 2015年6月23日上午10:20:39 */ @SuppressWarnings("rawtypes") public Map getMap(String sql){ List<Map<String, Object>> list = this.gtQueryForListMap(sql); Map map = new HashMap(); if(list!=null&&list.size()>0){ map=list.get(0); } return map; } /** * * @projectname 项目名称: cms * @packageclass 包及类名: com.jy.modules.cms.query.queryJdbcTemplate.java * @description 功能描述: 修改语句 * @author 作 者: zhouzhiwei * @param 参 数: @param sql * @return 返回类型: void * @createdate 建立日期: 2015年6月23日上午10:25:37 */ public void update(String sql){ try { this.getJdbcTemplate().execute(sql); logger.debug("执行成功-------------------------------sql="+sql); } catch (Exception e) { e.printStackTrace(); logger.debug("执行sql错误-----------------------------sql="+sql); } } /** * * @projectname 项目名称: cms * @packageclass 包及类名: com.jy.modules.cms.query.queryJdbcTemplate.java * @description 功能描述: 返回记录数 * @author 作 者: zhouzhiwei * @param 参 数: @param sql * @param 参 数: @return * @return 返回类型: int * @createdate 建立日期: 2015年6月23日上午10:31:57 */ @SuppressWarnings("deprecation") public int count(String sql){ int count=0; try { count = this.getJdbcTemplate().queryForInt(sql); logger.debug("执行成功-------------------------------sql="+sql); } catch (Exception e) { e.printStackTrace(); logger.debug("执行sql错误-----------------------------sql="+sql); } return count; } /** * * @projectname 项目名称: cms * @packageclass 包及类名: com.jy.modules.cms.query.queryJdbcTemplate.java * @description 功能描述: 删除记录数 * @author 作 者: zhouzhiwei * @param 参 数: @param sql * @param 参 数: @return * @return 返回类型: int * @createdate 建立日期: 2015年6月23日上午10:31:57 */ @Override public void delete(String sql) { try { this.getJdbcTemplate().execute(sql); logger.debug("删除成功-------------------------------sql="+sql); } catch (Exception e) { e.printStackTrace(); logger.debug("删除失败-----------------------------sql="+sql); } } /** * * @projectname 项目名称: cms * @packageclass 包及类名: com.jy.modules.cms.query.queryJdbcTemplate.java * @description 功能描述: 删除记录数 * @author 作 者: zhouzhiwei * @param 参 数: @param sql * @param 参 数: @return * @return 返回类型: int * @createdate 建立日期: 2015年6月23日上午10:31:57 */ @Override public void insert(String sql) { try { this.getJdbcTemplate().execute(sql); logger.debug("插入成功-------------------------------sql="+sql); } catch (Exception e) { e.printStackTrace(); logger.debug("插入成功-----------------------------sql="+sql); } } /** * 根据用户id获取用户姓名 */ @Override public String userName(String userId) { String sql =" select jj.user_name from sys_user jj where jj.id="+userId; return this.getMapValue(sql); } /** * * @projectname 项目名称: cms * @packageclass 包及类名: com.jy.modules.cms.query.queryJdbcTemplateimpl.java * @description 功能描述: 只返回一Map里的一个个结果集 * @author 作 者: zhouzhiwei * @param 参 数: @param sql * @param 参 数: @return * @return 返回类型: String * @createdate 建立日期: 2015年6月26日下午4:27:48 */ @SuppressWarnings("unchecked") public String getMapValue(String sql){ Object data=null; Map<String, Object> map =this.getMap(sql); if(!map.isEmpty()){ for(Entry<String, Object> entry: map.entrySet()) { data=entry.getValue(); } } if(data!=null&&data!=""){ return data.toString(); } return null; } }