/**
* 插入文件表数据
* @param tb_File
* @return
*/
public int fileAdd(final File file,final Tb_File tb_File){
// TODO Auto-generated method stub
String strMethod = "fileAdd";
logger.debug(strMethod + "Start.");
//插入文件表数据
StringBuffer INSERT_FILE_ADD=new StringBuffer();
INSERT_FILE_ADD.append(" INSERT INTO TB_FILE(ID,IMAGE,IMAGESUFFIX,NAME)VALUES(?,?,?,?) ");
int reFlag=2;//sql返回标记
try {
final InputStream is = new FileInputStream(file);
final LobHandler lobHandler=new DefaultLobHandler();
this.getJdbcTemplate().execute(new SQLProxy(INSERT_FILE_ADD.toString()).sql(),
new AbstractLobCreatingPreparedStatementCallback(lobHandler){
protected void setValues(
PreparedStatement pstmt,
LobCreator lobCreator)
throws SQLException,
DataAccessException {
// TODO Auto-generated method stub
pstmt.setString(1, tb_File.getId());
lobCreator.setBlobAsBinaryStream(pstmt,2,is,(int)file.length());
pstmt.setString(3, tb_File.getImagesuffix());
pstmt.setString(4, tb_File.getName());
}
});
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
reFlag=1;
logger.debug(strMethod + "End.");
return reFlag;
}
/**
* 获取文件列表
* @return
*/
public List<Tb_File> getTbFile() {
// TODO Auto-generated method stub
String strMethod = "getTbFile";
logger.debug(strMethod + "Start.");
StringBuffer QUERY_GET_TB_FILE=new StringBuffer();
QUERY_GET_TB_FILE.append(" SELECT ID,IMAGE,IMAGESUFFIX,NAME FROM TB_FILE ");
final List<Tb_File> list=new ArrayList<Tb_File>();
//读取图片
final LobHandler lobHandler=new DefaultLobHandler();
this.getJdbcTemplate().query(new SQLProxy(QUERY_GET_TB_FILE.toString()).sql(), new RowMapper() {
public Object mapRow(ResultSet rs, int i) throws SQLException {
Tb_File obj=new Tb_File();
String extenName=rs.getString(3);//获取扩展名
String myFileName="未知文件";//文件名
myFileName=attributeService.getFileSeq("p")+extenName;
String myFilePath=ServletActionContext.getServletContext().getRealPath("downloadtemp")//获取上传路径
+"/"+myFileName;
try {
OutputStream os = new FileOutputStream(new File(myFilePath));
try {
FileCopyUtils.copy(lobHandler.getBlobAsBinaryStream(rs,2),os);
os.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//写文件
obj.setId(rs.getString(1));
obj.setImagesuffix(rs.getString(3));
obj.setName(rs.getString(4));
obj.setImage("http://localhost:8090/houseInfo/downloadtemp/"+myFileName);
list.add(obj);
return list;
}
});
logger.debug(strMethod + "End.");
return list;
}
分享到:
相关推荐
"更新记录.docx"文件可能是项目开发过程中对SpringJdbcTemplate封装工具类的修改日志,记录了每次更新的功能改进、bug修复或性能优化等内容,这对于版本管理和问题排查非常有帮助。 通过上述分析,我们可以看到...
- **配置JdbcTemplate**:首先,需要在Spring配置文件中声明一个JdbcTemplate bean,并注入DataSource。 - **执行SQL**:调用JdbcTemplate的execute()方法执行SQL,对于查询操作,可以使用query()方法,传入SQL、...
spring 中对大数据的处理,包括clob,blob的数据。比之jdbc下简便很多。
在本教程中,我们将探讨如何使用 Spring Batch 读取文本(txt)文件,并将读取到的数据处理后写入数据库。 首先,我们需要创建一个 Maven 项目,并在 `pom.xml` 文件中添加必要的依赖。这些依赖包括 `spring-boot-...
**Spring JdbcTemplate**是Spring框架中的一个核心组件,主要用于简化Java数据库访问。它提供了一种模板化的方式来执行SQL语句,使得开发人员可以避免编写大量的重复代码,专注于业务逻辑,而不是底层的数据库交互...
根据给定的文件信息,以下是对“Spring JdbcTemplate API”的详细知识点解析: ### Spring JdbcTemplate API:数据库操作的模板模式 #### 概述 在Spring框架中,`JdbcTemplate`是一个用于简化JDBC编程的工具类,...
在Spring框架中,JdbcTemplate是用于简化数据库操作的重要工具,它是Spring JDBC模块的一部分。通过使用JdbcTemplate,开发者可以避免编写大量的重复代码,如手动管理连接、处理结果集等,从而专注于业务逻辑。本文...
首先,我们需要在Spring配置文件中定义JdbcTemplate bean。这通常通过DataSource(数据源)来完成,例如: ```xml <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> ...
Spring框架提供了多种模板类来处理不同的数据访问需求,例如JdbcTemplate主要针对关系型数据库的操作。 在使用JdbcTemplate前,需要导入两个jar包: - spring-jdbc-4.2.4.RELEASE.jar:包含JdbcTemplate及与数据库...
在这个项目中,Spring JdbcTemplate可能会被用来连接数据库,执行SQL语句,比如CRUD操作(创建、读取、更新和删除)。它允许开发者以声明式的方式编写SQL,使得代码更加简洁,同时保持了良好的封装性,降低了SQL注入...
为了从数据库读取数据并以JSON格式返回,我们可能会有以下步骤: 1. 配置Spring的数据库连接,通常在`applicationContext.xml`或`application.properties`中设置数据源。 2. 创建一个服务类(Service),使用Spring...
总的来说,这个项目展示了如何使用Spring、Spring MVC和JdbcTemplate搭建一个基于Java的Web应用,同时利用Oracle作为后端数据库和Redis作为缓存系统。通过学习这个示例,开发者可以了解到如何整合这些技术来构建高效...
在Java编程中,读取数据库表中的内容并将其转换为SQL文件,然后解析并执行这个文件,是一项常见的数据处理任务。这项操作可能涉及到数据库连接、数据查询、文件操作以及SQL语句的构建与执行。以下将详细介绍这个过程...
4. **使用Spring的JdbcTemplate和JsonUtils**:如果你的应用使用了Spring Data JPA或其他数据库访问技术,可以结合`JdbcTemplate`和`JsonUtils`(Spring的内部工具类)解析JSON: ```java String jsonString = ...
数据库连接池jar包,包含c3p0、druidjar包和依赖jar包,c3p0通过配置文件xml或者properties读取连接对象 druid通过properties读取连接,使用springJDBC JdbcTempalte简化sql操作
7. **配置文件**:项目中可能包含Spring的XML配置文件或基于Java的配置,用于定义bean的实例化、依赖关系和数据库连接信息。此外,还需要Web应用的web.xml文件来配置DispatcherServlet和过滤器等。 总结起来,这个...
这个压缩包文件的内容显然是关于如何使用Spring来实现图片以Base64编码的方式上传到MySQL数据库。 首先,让我们理解Base64编码。Base64是一种常见的数据编码方法,它将二进制数据转化为可打印的ASCII字符,以便在...
在IT行业中,Java是一种广泛应用的编程语言,尤其在企业级应用和服务器端开发中占据重要地位。本项目涉及的是利用Java编写小程序...通过理解并掌握这些知识点,开发者能够构建出高效且可靠的数据库读取与文本生成程序。
通过学习以上知识点,并结合提供的“基于Spring与Hibernate的数据库操作进阶.pptx”文件,开发者可以深入理解并掌握Spring和Hibernate的协同工作,提升数据库操作的能力,从而在实际项目中实现更高效、更稳定的数据...
在Java的Spring框架中,JdbcTemplate是一个非常重要的组件,它为数据库操作提供了简便的模板方法。在处理大量数据时,传统的分页方式可能会导致内存溢出,这时可以使用游标滚动来实现高效的分页。本篇文章将深入探讨...