您的位置:首页 > 编程语言 > Java开发

封装SpringJdbcTemplate

2015-08-07 10:40 417 查看
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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: