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;
} }

封装SpringJdbcTemplate的更多相关文章

  1. Dao层封装泛型实现(spring mvc,springjdbctemplate)

    代码片段(6) [全屏查看所有代码] 1. [代码]BaseDao     跳至 [1] [2] [3] [4] [全屏预览] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...

  2. springJDBC和SpringJDBCTemplate解决方案探究

    先来看一个纯JDBC的例子,体会一下springJDBC和SpringJDBCTemplate两者的区别 一个Customer类 package com.mkyong.customer.model; ...

  3. SpringJdbcTemplate简单实现

    SpringJdbcTemplate 配置文件 1.依赖坐标 <dependencies> <dependency> <groupId>javax.servlet& ...

  4. [C#] 简单的 Helper 封装 -- RegularExpressionHelper

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. iOS开发之App间账号共享与SDK封装

    上篇博客<iOS逆向工程之KeyChain与Snoop-it>中已经提到了,App间的数据共享可以使用KeyChian来实现.本篇博客就实战一下呢.开门见山,本篇博客会封装一个登录用的SD ...

  6. Ajax实现原理,代码封装

    都知道实现页面的异步操作需要使用Ajax,那么Ajax到是怎么实现异步操作的呢? 首先需要认识一个对象 --> XMLHttpRequest 对象 --> Ajax的核心.它有许多的属性和 ...

  7. 用C语言封装OC对象(耐心阅读,非常重要)

    用C语言封装OC对象(耐心阅读,非常重要) 本文的主要内容来自这里 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象 ...

  8. 【知识必备】RxJava+Retrofit二次封装最佳结合体验,打造懒人封装框架~

    一.写在前面 相信各位看官对retrofit和rxjava已经耳熟能详了,最近一直在学习retrofit+rxjava的各种封装姿势,也结合自己的理解,一步一步的做起来. 骚年,如果你还没有掌握ret ...

  9. 对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传)

    前言 首先声明一下,我这个是对WebUploader开源上传控件的二次封装,底层还是WebUploader实现的,只是为了更简洁的使用他而已. 下面先介绍一下WebUploader 简介: WebUp ...

随机推荐

  1. VoltDB成功入选CNCF Landscape云原生数据库全景图

    近日,VoltDB正式入选 CNCF Landscape(可能是目前其中唯一的关系型分布式内存数据库).此次VoltDB 进入 CNCF Landscape,意味着 VoltDB 正式成为了 CNCF ...

  2. Azure Terraform(三)部署 Web 应用程序

    一,引言 上一节关于 Terraform 的文章讲到 Terraform 使用到的一些语法,以及通过演示使用 Terraform 在Azure 上部署资源组,极大的方便了基础设施实施人员,也提高了基础 ...

  3. Web Service 服务无法连接Oracle数据库

    这个问题之前部署就遇到过,但是后来忘了,所以记录一下吧. 我部署Web Service服务的时候,服务没法正常运行,与Oracle数据库无法正常通信. 检查了数据库连接字没有任何问题,写了个测试接口, ...

  4. 2020DevOps状态报告——变更管理

    如果你的公司还没有走向平台化,现在仍然可以是很大的飞跃.您仍然可以通过解决公司的变更管理流程来加快软件交付.在本章中,我们将研究我们在公司内部所学的变更管理模式.我们将向您展示什么是有效的,什么是无效 ...

  5. python virtualenv 基本使用

    下载 pip install virtualenv 校验是否成功 virtualenv --version 使用 创建env环境 要写一个新项目,使用env先创建环境 cd xx\xx\xx\ # 进 ...

  6. java之环境配置

    前言:本人环境 Windows10(64位),jdk1.8.131 开发工具: IDEA 第一步: 获取JDK 方法一:推荐官网(此方法需要oracle账号,可以免费注册)   方法二:百度网盘(需要 ...

  7. 【SpringBoot1.x】SpringBoot1.x 配置

    SpringBoot1.x 配置 文章源码 配置文件 SpringBoot 使用一个全局的配置文件,配置文件名是固定的. application.properties.application.yml都 ...

  8. 【Flutter】功能型组件之数据共享

    前言   InheritedWidget提供了一种数据在widget树中从上到下传递.共享的方式,例如在应用的根widget中通过InheritedWidget共享了一个数据,那么便可以在子widge ...

  9. LeetCode448-数组中消失的数字

    题目 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次. 找到所有在 [1, n] 范围之间没有出现在数组中的数字. 您能 ...

  10. Java Mybatis快速入门之基本使用

    目录 搭建环境 编写 Mybatis 核心配置文件 pom导出资源失败 测试 搭建环境 新建Maven项目 导入Maven依赖 <dependencies> <!--mysql驱动- ...