封装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 ...
随机推荐
- vue uni-app项目中的tabbar
由于公司要求开发百度小程序,所以我们采用uni-app开发的方式,一套代码多个小程序都可以用,在开发小程序的时候我们也经常会使用到tabbar.当然自己写出来也是不错的.这个就来介绍uni-app中的 ...
- Head First 设计模式 —— 02. 观察者 (Observer) 模式
思考题 在我们的一个实现中,下列哪种说法正确?(多选) P42 public class WeatherDate { // 实例变量声明 public void measurementsChanged ...
- uni-app 页面跳转的两种方法
1.navigator 标签 <navigator url="../component/classdetails/classdetails"> <view cl ...
- laravel5.4 接入qq第三方登录
第一步:先composer安装需要用到的依赖,命令行如下 composer require socialiteproviders/qq 第二步:在config/app.php 中的 providers ...
- 请求接口获取的json 字符串 前后不能有 双引号
请求接口获取的json 字符串 前后不能有 双引号 否则JSON.parse 转换会报错
- 关于软件架构中的b/s
**B/S架构 b/s只需要一个浏览器,用户就可以通过不同的网址访问不同的服务器程序. 优点:开发,安装,部署,维护简单 缺点:对硬件要求过高,用户的体验会受到影响 首先是资源分类:**可以分为静态资 ...
- 在recover database时,如何决定该从哪一个SCN开始恢复
使用备份恢复的方法搭建DG库,还原数据文件后,打开数据库时报错 SQL> ALTER DATABASE OPEN READ ONLY; ALTER DATABASE OPEN READ ONLY ...
- Jquery实现对Array数组实现类似Linq的Lambda表达式的Where方法筛选
平时使用Linq,习惯了Lambda表达式,用着非常顺手,奈何在Jquery里面不能这样用,只能循环一个个判断.趁空闲时间找了找,自己写了这样的扩展方法.目前写出了三种方案,没有比较性能,觉得都可以用 ...
- luoguP2016 战略游戏
题目描述 Bob喜欢玩电脑游戏,特别是战略游戏.但是他经常无法找到快速玩过游戏的办法.现在他有个问题.他要建立一个古城堡,城堡中的路形成一棵树.他要在这棵树的结点上放置最少数目的士兵,使得这些士兵能了 ...
- 接收的参数为日期类型、controller控制层进行数据保存、进行重定向跳转
目录 1.接收的参数为日期类型 2.controller控制层进行数据保存 3.controller层如何进行重定向跳转(因为默认是请求转发) 4.静态资源的映射 1.接收的参数为日期类型 WEB-I ...