java-spring的JdbcTempldate对oracle 的CLob字段进行读和写

本文介绍了如何使用Spring的JdbcTemplate和LobHandler处理Oracle数据库中的CLOB字段,提供了一种简单易行的方法进行读写操作。详细代码示例展示了CLOB字段的操作过程,并给出了相关参考资料。
摘要由CSDN通过智能技术生成

相关介绍-

 Spring 让 LOB 数据操作变得简单易行(http://www.ibm.com/developerworks/cn/java/j-lo-spring-lob/)


具体代码:

Blob操作也类似Clob,也是通过LobHandler 类的方法进行操作。



import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.support.AbstractLobCreatingPreparedStatementCallback;
import org.springframework.jdbc.support.lob.DefaultLobHandler;
import org.springframework.jdbc.support.lob.LobCreator;
import org.springframework.jdbc.support.lob.LobHandler;
import org.springframework.stereotype.Repository;


import com.commom.model.PageBean;

/**
 * 类:ReportTemplateDaoImpl.java
 * 时间:2016-1-8
 * 说明:模板
 */
@Repository
public class ReportTemplateDaoImpl extends BaseDao
{
	
	/**
	 * 根据条件获取模板的信息
	 * @param queryMap:查询条件
	 * @return
	 */
	public List<Map<String, Object>> queryReportTemplate(Map<String,Object> filterMap) 
	{
		return execConditonSql(filterMap,false);
	}
	/**
	 * 统计模板总记录数
	 * @param queryMap:查询条件
	 * @return
	 */
	public int countReportTemplate(Map<String,Object> filterMap) 
	{
		List<Map<String, Object>> retObjMapList =  execConditonSql(filterMap, true);
		return Integer.valueOf(retObjMapList.get(0).get("count").toString());
	}
	
	/**
	 * 根据条件查询模板信息
	 * @param filterMap
	 * @return
	 */
	public  List<Map<String,Object>> execConditonSql(Map<String,Object> filterMap,boolean isCount)
	{
	
		StringBuffer sql;
	
		
		if(isCount)
		{
			//查数据条数
			sql = new StringBuffer(" select count(*) as count from TEMPLATE_TABLE where 1=1 ");
			
		}else
		{
			//查数据信息
			sql = new StringBuffer(" select * from TEMPLATE_TABLE where 1=1 ");
		}
		
		
		if(filterMap != null )
		{
			if(filterMap.containsKey("title"))
			{
				sql.append("and title like '%"+ filterMap.get("title") +"%'");
				
			}
			
			if(filterMap.containsKey("label"))
			{
				sql.append("and label like '%"+ filterMap.get("label") +"%'");
			
			}
			
			if(filterMap.containsKey("type"))
			{
				sql.append("and type ="+Integer.valueOf(filterMap.get("type").toStrin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值