封装SpringJdbcTemplate

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;
    }
    
}
原文地址:https://www.cnblogs.com/yy123/p/4710066.html