• 封装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;
        }
        
    }
  • 相关阅读:
    EL表达式学习
    IDEA maven项目创建速度慢
    c语言栈的链表实现
    c数据结构学习随笔
    自定义JSP中的Taglib标签之四自定义标签中的Function函数
    深入理解HTTP Session
    利用GeneratedKeyHolder获得新增数据主键值
    RBAC用户角色权限设计方案
    Fragment与Activity交互(使用接口)
    php session 自定义的设置测试
  • 原文地址:https://www.cnblogs.com/yy123/p/4710066.html
Copyright © 2020-2023  润新知