- 浏览: 1527676 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (225)
- JAVA (27)
- Spring (49)
- Linux (51)
- JavaScript (8)
- Scrum (23)
- IDE (2)
- JSON (2)
- Solr (0)
- Webharvest (0)
- Hibernate (8)
- 杂谈 (3)
- Windows 7 (4)
- 持续集成 (23)
- tomcat (3)
- Android (1)
- SpringSecurity (11)
- Maven (9)
- jotm (3)
- C3P0 (1)
- Active Directory (2)
- cas (1)
- JQuery (2)
- ajax (1)
- plsql (2)
- nginx (4)
- apache (1)
- thrift (7)
- python (3)
- oracle (4)
- php (2)
- redis (1)
- fedora (1)
- windows7 (0)
- SVN (1)
- NFS (1)
- SAMBA (1)
- Atomikos (1)
- apache-poi (1)
- mysql (2)
- vncserver (1)
- mac (2)
- firefox (1)
- JIRA (1)
- p6spy (1)
- git (1)
- github (1)
- gitlab (1)
- gogs (1)
- Druid (1)
- MyBatis (1)
- docker (8)
- zabbix (1)
最新评论
-
lialatd:
您好,我用您的方法通过java api往jira系统中添加is ...
JIRA REST API ---- JAVA -
sprcen945:
可以了,是因为没加intercept-url 的拦截, 尼玛, ...
SpringSecurity3.X--Cas client 配置 -
sprcen945:
请问为什么我配了security.xml后切入点不起作用(之前 ...
SpringSecurity3.X--Cas client 配置 -
linxingyul:
根据楼主的代码 继承了WebMvcConfigurationS ...
SpringMVC4零配置--Web上下文配置【MvcConfig】 -
java_老头:
MvcConfig.java的FilterType.ANNOT ...
SpringMVC4零配置--Web上下文配置【MvcConfig】
spring对jdbc操控LOB也提供了简单的方式,以oracle数据库为例,方式如下:
一.spring配置文件
<!-- 提供对lob字段的支持 -->
<bean id="nativeJdbcExtractor"
class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"
lazy-init="true" />
<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler"
lazy-init="true">
<property name="nativeJdbcExtractor" ref="nativeJdbcExtractor" />
</bean>
<!-- 在需要的dao中加入对LOB的支持-->
<bean id="initTopicDao" class="com.netqin.bbs.initTopicData.dao.InitTopicDataDao">
<property name="dataSource" ref="dataSource" />
<property name="lobHandler" ref="oracleLobHandler" />
</bean>
二.通过dao实现插入和查询
这里使用SimpleJdbcDaoSupport,为了举例,这里使用POSTS_TEXT 表,它有三个属性:
POSTS_TEXT number(20)
POST_TEXT blob
POST_SUBJECT clob
InitTopicDataDao 代码如下:
package com.netqin.bbs.initTopicData.dao;
import java.io.UnsupportedEncodingException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.apache.log4j.Logger;
import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.support.AbstractLobCreatingPreparedStatementCallback;
import org.springframework.jdbc.support.lob.LobCreator;
import org.springframework.jdbc.support.lob.LobHandler;
import com.netqin.bbs.utils.Constant;
public class InitTopicDataDao extends SimpleJdbcDaoSupport{
private static Logger logger=Logger.getLogger(InitTopicDataDao.class);
// INSERT 增加BBS PostText
public static String INSERT_BBS_POST_TEXT = "INSERT INTO POSTS_TEXT T (T.POST_ID,T.POST_TEXT,T.POST_SUBJECT) VALUES(?,?,?)";
//SELECT 查询BBS PostText Content
public static String SELECT_BBS_POST_TEXT_CONTENT = "SELECT T.POST_TEXT,T.POST_SUBJECT FROM POSTS_TEXT T WHERE T.POST_ID = ? ";
private LobHandler lobHandler;
public LobHandler getLobHandler() {
return lobHandler;
}
public void setLobHandler(LobHandler lobHandler) {
this.lobHandler = lobHandler;
}
/**
* 描述 : 增加一个PostText记录. <br>
*<p>
* @param postId
* @param topicName
* @param topicContent
*/
public void addBBSPostText(final long postId, final String topicName, final String topicContent){
getJdbcTemplate().execute(InitTopicDataDao.INSERT_BBS_POST_TEXT,
new AbstractLobCreatingPreparedStatementCallback(this.lobHandler) {
protected void setValues(PreparedStatement ps,LobCreator lobCreator)
throws SQLException {
ps.setLong(1, postId);
lobCreator.setBlobAsBytes(ps, 2, topicContent.getBytes());//设置blob,可以设置编码,如UTF-8
lobCreator.setClobAsString(ps, 3, topicName);//设置clob
}
});
logger.debug("sql==="+InitTopicDataDao.INSERT_BBS_POST_TEXT);
logger.debug("param==="+postId+","+topicContent+","+topicName);
}
/**
* 描述 : 取出postText数据. <br>
*<p>
* @param id
* @return
*/
@SuppressWarnings("unchecked")
public List getBBSPostText(long id){
List object = getJdbcTemplate().query(
InitTopicDataDao.SELECT_BBS_POST_TEXT_CONTENT,new Object[] {id},
new RowMapper() {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
byte[] attach = lobHandler.getBlobAsBytes(rs, 1); //取出blob
String name = lobHandler.getClobAsString(rs, 2);//取出clob
String[] post = new String[2];//存入时如果使用UTF-8等进行编码,这里在取出后也需要进行转码
post[0] = name;
post[1] = new String(attach);
return post;
}
});
return object;
}
}
这里在为大家推荐一篇介绍spring操控LOB的文章:
http://www.ibm.com/developerworks/cn/java/j-lo-spring-lob/
发表评论
-
Druid学习笔记
2016-10-07 11:55 2456官方网站:https://github.com/aliba ... -
Spring Cache注解+Redis
2015-01-15 13:36 54443Spring3.1 Cache注解 依赖jar包: ... -
Spring Cache注解+Memcached
2015-01-12 16:11 20405Spring3.1 Cache注解 依赖jar包: ... -
Spring4+Hibernate4+Atomikos3.3多数据源事务管理
2014-09-25 10:46 8342Spring3+后不再对JTOM提供支持,所以可以改用At ... -
SpringMVC4零配置--Web上下文配置【MvcConfig】
2014-09-10 18:22 73366与SpringSecurity的配置类似,spring同样 ... -
SpringMVC4零配置--SpringSecurity相关配置【SpringSecurityConfig】
2014-09-10 18:22 71931SpringSecurity的配置相对来说有些复杂,如果 ... -
SpringMVC4零配置--应用上下文配置【AppConfig】
2014-09-10 18:21 26483从spring3.0开始,Spring将JavaConfi ... -
SpringMVC4零配置--web.xml
2014-09-10 18:21 98646servlet3.0+规范后,允许servlet,filt ... -
SpringMVC4零配置
2014-09-05 19:11 89917基于Servlet3.0规范和SpringMVC4注解式配 ... -
SpringSecurity3.X--LDAP:AD配置
2014-07-08 17:08 5527前面介绍过基于本地数据库验证的方式,参考http://ha ... -
Thrift--JSClient
2013-09-26 14:45 5933thrift提供了基于jquery--ajax的客户端调用 ... -
Thrift--Spring集成ThriftServlet
2013-09-25 11:42 11090Thrift除了可以通过TCP协议访问,还可以通过HTTP ... -
Thrift转SpringHttpInvoker
2013-09-24 13:26 1740关于在spring中集成Thrift请参看:http://h ... -
Spring集成Thrift--Server AND Client
2013-09-04 20:13 13726Thrift网上有N多教程, ... -
C3P0配置实战
2012-09-04 18:34 51855C3P0: 一个开源的JDBC连接池,它实现了数据源和JN ... -
spring+jotm 多数据源事务管理(三)JNDI+Tomcat
2012-06-07 16:27 5229spring+jotm 多数据源事务管理系列 spr ... -
spring+jotm 多数据源事务管理(二)hibernate
2012-06-07 11:20 2822spring+jotm 多数据源事务管理系列 spr ... -
spring+jotm 多数据源事务管理(一)jdbc
2012-06-07 11:00 5242spring+jotm 多数据源事务管理系列 spr ... -
SpringSecurity3.X--Cas client 配置之配置session-management遇到的问题(2)
2011-10-27 14:19 2106关于“SpringSecurity3.X--Cas clien ... -
SpringSecurity3.X--Cas client 配置之配置session-management遇到的问题
2011-10-26 18:56 7877关于“SpringSecurity3.X--Cas ...
相关推荐
通过spring存blob和clob数据到sybase数据库中,压缩包里包含了三种方式,(1)spring+hibernate,切面事务(aop),存lob数据,(2)spring+hibernate存lob数据,(3)spring+jdbc存lob数据。
NULL 博文链接:https://liubing1883.iteye.com/blog/405679
第11章:讲解了如何使用Spring JDBC进行数据访问操作,我们还重点讲述了LOB字段处理、主键产生和获取等难点知识。 第12章:讲解了如何在Spring中集成Hibernate、myBatis等数据访问框架,同时,读者还将学习到ORM...
第11章:讲解了如何使用Spring JDBC进行数据访问操作,我们还重点讲述了LOB字段处理、主键产生和获取等难点知识。 第12章:讲解了如何在Spring中集成Hibernate、myBatis等数据访问框架,同时,读者还将学习到...
oracle dbms_lob 智能大对象(Blob、Clob)
NULL 博文链接:https://sosuny.iteye.com/blog/446112
使用JDBC数据接口存取Oracle LOB(大对象).pdf
NULL 博文链接:https://surfingforrest.iteye.com/blog/711612
ORACLE LOB大对象处理.doc ORACLE LOB大对象处理.doc
Oracle中对LOB对象的操作.pdf
oracle dbms_lob
ORACLELOB大对象处理[定义].pdf
可以使用PreparedStatement对象插入或更新LOB,但需要使用locator才能获取LOB的值。由于存在这二个问题,因此,我建议使用locator的方法来插入、更新或获取LOB的值。 8、使用SQL92语法调用存储过程 在调用存储...
10.5.2 Hibernate+Spring JDBC混合框架的事务管理 10.6 特殊方法成漏网之鱼 10.6.1 哪些方法不能实施Spring AOP事务 10.6.2 事务增强遗漏实例 10.7 数据连接泄漏 10.7.1 底层连接资源的访问问题 10.7.2 Spring JDBC...
LOB语料库 创建时间: 1970年代初 创建单位:英国Lancaster大学和挪威Oslo大学以及Bergen大学 规模层级: 100万词次 基本情况:研究当代英国英语,与美国英语对比,使用了TAGIT系统,以统计方式建立换算几率矩阵,提高标注...
spring.jpa.propertires.hibernate.jdbc.lob.non_contextual_creation=trueblog spring.datasource.url=jdbc:mysql://localhost:3306/notas?useTimezone=true&serverTimezone=UTC spring.datasource.username=root ...
Oracle的LOB(CLOB)大字段以及(SYS_LOB$$)清理.txt
Oracle数据库,更改表空间的命令,包括table、index、lob对象。
sdbmigrationtool SequoiaDB数据库集合间数据迁移工具,支持结构化,半结构化和Lob对象的迁移,提供多线程,限速,校正,修复功能。当前版本支持功能如下:提供多线程并发功能支持输出迁移速率的统计信息结构化,半...
sybase IQ LOB手册,这个功能能让你在IQ中村图片和视频