封装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;
} }
封装SpringJdbcTemplate的更多相关文章
- 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 ...
- springJDBC和SpringJDBCTemplate解决方案探究
先来看一个纯JDBC的例子,体会一下springJDBC和SpringJDBCTemplate两者的区别 一个Customer类 package com.mkyong.customer.model; ...
- SpringJdbcTemplate简单实现
SpringJdbcTemplate 配置文件 1.依赖坐标 <dependencies> <dependency> <groupId>javax.servlet& ...
- [C#] 简单的 Helper 封装 -- RegularExpressionHelper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- iOS开发之App间账号共享与SDK封装
上篇博客<iOS逆向工程之KeyChain与Snoop-it>中已经提到了,App间的数据共享可以使用KeyChian来实现.本篇博客就实战一下呢.开门见山,本篇博客会封装一个登录用的SD ...
- Ajax实现原理,代码封装
都知道实现页面的异步操作需要使用Ajax,那么Ajax到是怎么实现异步操作的呢? 首先需要认识一个对象 --> XMLHttpRequest 对象 --> Ajax的核心.它有许多的属性和 ...
- 用C语言封装OC对象(耐心阅读,非常重要)
用C语言封装OC对象(耐心阅读,非常重要) 本文的主要内容来自这里 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象 ...
- 【知识必备】RxJava+Retrofit二次封装最佳结合体验,打造懒人封装框架~
一.写在前面 相信各位看官对retrofit和rxjava已经耳熟能详了,最近一直在学习retrofit+rxjava的各种封装姿势,也结合自己的理解,一步一步的做起来. 骚年,如果你还没有掌握ret ...
- 对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传)
前言 首先声明一下,我这个是对WebUploader开源上传控件的二次封装,底层还是WebUploader实现的,只是为了更简洁的使用他而已. 下面先介绍一下WebUploader 简介: WebUp ...
随机推荐
- VoltDB成功入选CNCF Landscape云原生数据库全景图
近日,VoltDB正式入选 CNCF Landscape(可能是目前其中唯一的关系型分布式内存数据库).此次VoltDB 进入 CNCF Landscape,意味着 VoltDB 正式成为了 CNCF ...
- Azure Terraform(三)部署 Web 应用程序
一,引言 上一节关于 Terraform 的文章讲到 Terraform 使用到的一些语法,以及通过演示使用 Terraform 在Azure 上部署资源组,极大的方便了基础设施实施人员,也提高了基础 ...
- Web Service 服务无法连接Oracle数据库
这个问题之前部署就遇到过,但是后来忘了,所以记录一下吧. 我部署Web Service服务的时候,服务没法正常运行,与Oracle数据库无法正常通信. 检查了数据库连接字没有任何问题,写了个测试接口, ...
- 2020DevOps状态报告——变更管理
如果你的公司还没有走向平台化,现在仍然可以是很大的飞跃.您仍然可以通过解决公司的变更管理流程来加快软件交付.在本章中,我们将研究我们在公司内部所学的变更管理模式.我们将向您展示什么是有效的,什么是无效 ...
- python virtualenv 基本使用
下载 pip install virtualenv 校验是否成功 virtualenv --version 使用 创建env环境 要写一个新项目,使用env先创建环境 cd xx\xx\xx\ # 进 ...
- java之环境配置
前言:本人环境 Windows10(64位),jdk1.8.131 开发工具: IDEA 第一步: 获取JDK 方法一:推荐官网(此方法需要oracle账号,可以免费注册) 方法二:百度网盘(需要 ...
- 【SpringBoot1.x】SpringBoot1.x 配置
SpringBoot1.x 配置 文章源码 配置文件 SpringBoot 使用一个全局的配置文件,配置文件名是固定的. application.properties.application.yml都 ...
- 【Flutter】功能型组件之数据共享
前言 InheritedWidget提供了一种数据在widget树中从上到下传递.共享的方式,例如在应用的根widget中通过InheritedWidget共享了一个数据,那么便可以在子widge ...
- LeetCode448-数组中消失的数字
题目 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次. 找到所有在 [1, n] 范围之间没有出现在数组中的数字. 您能 ...
- Java Mybatis快速入门之基本使用
目录 搭建环境 编写 Mybatis 核心配置文件 pom导出资源失败 测试 搭建环境 新建Maven项目 导入Maven依赖 <dependencies> <!--mysql驱动- ...