`

spring JdbcTemplate文件写数据库,读取

 
阅读更多
/**
	 * 插入文件表数据
	 * @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;
	}

 

分享到:
评论

相关推荐

    SpringJdbcTemplate封装工具类

    "更新记录.docx"文件可能是项目开发过程中对SpringJdbcTemplate封装工具类的修改日志,记录了每次更新的功能改进、bug修复或性能优化等内容,这对于版本管理和问题排查非常有帮助。 通过上述分析,我们可以看到...

    spring-jdbcTemplate实例工程

    - **配置JdbcTemplate**:首先,需要在Spring配置文件中声明一个JdbcTemplate bean,并注入DataSource。 - **执行SQL**:调用JdbcTemplate的execute()方法执行SQL,对于查询操作,可以使用query()方法,传入SQL、...

    利用spring的jdbcTemplate处理blob、clob

    spring 中对大数据的处理,包括clob,blob的数据。比之jdbc下简便很多。

    Spring Batch读取txt文件并写入数据库的方法教程

    在本教程中,我们将探讨如何使用 Spring Batch 读取文本(txt)文件,并将读取到的数据处理后写入数据库。 首先,我们需要创建一个 Maven 项目,并在 `pom.xml` 文件中添加必要的依赖。这些依赖包括 `spring-boot-...

    Spring JdbcTemplate

    **Spring JdbcTemplate**是Spring框架中的一个核心组件,主要用于简化Java数据库访问。它提供了一种模板化的方式来执行SQL语句,使得开发人员可以避免编写大量的重复代码,专注于业务逻辑,而不是底层的数据库交互...

    Spring JdbcTemplate api

    根据给定的文件信息,以下是对“Spring JdbcTemplate API”的详细知识点解析: ### Spring JdbcTemplate API:数据库操作的模板模式 #### 概述 在Spring框架中,`JdbcTemplate`是一个用于简化JDBC编程的工具类,...

    使用Spring JDBCTemplate进行增删改查curd操作

    在Spring框架中,JdbcTemplate是用于简化数据库操作的重要工具,它是Spring JDBC模块的一部分。通过使用JdbcTemplate,开发者可以避免编写大量的重复代码,如手动管理连接、处理结果集等,从而专注于业务逻辑。本文...

    spring jdbctemplate实例

    首先,我们需要在Spring配置文件中定义JdbcTemplate bean。这通常通过DataSource(数据源)来完成,例如: ```xml &lt;bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"&gt; ...

    4.Spring中的JdbcTemplate,Spring中的的事务,

    Spring框架提供了多种模板类来处理不同的数据访问需求,例如JdbcTemplate主要针对关系型数据库的操作。 在使用JdbcTemplate前,需要导入两个jar包: - spring-jdbc-4.2.4.RELEASE.jar:包含JdbcTemplate及与数据库...

    java-web-project.zip_jdbctemplate_js项目_spring jdbctemplate

    在这个项目中,Spring JdbcTemplate可能会被用来连接数据库,执行SQL语句,比如CRUD操作(创建、读取、更新和删除)。它允许开发者以声明式的方式编写SQL,使得代码更加简洁,同时保持了良好的封装性,降低了SQL注入...

    Spring+Servlet读取数据库返回JSON数据(源码).zip

    为了从数据库读取数据并以JSON格式返回,我们可能会有以下步骤: 1. 配置Spring的数据库连接,通常在`applicationContext.xml`或`application.properties`中设置数据源。 2. 创建一个服务类(Service),使用Spring...

    spring-springMvc-jdbctemplate.rar

    总的来说,这个项目展示了如何使用Spring、Spring MVC和JdbcTemplate搭建一个基于Java的Web应用,同时利用Oracle作为后端数据库和Redis作为缓存系统。通过学习这个示例,开发者可以了解到如何整合这些技术来构建高效...

    java读取数据库表中内容转存sql文件,然后解析执行此文件

    在Java编程中,读取数据库表中的内容并将其转换为SQL文件,然后解析并执行这个文件,是一项常见的数据处理任务。这项操作可能涉及到数据库连接、数据查询、文件操作以及SQL语句的构建与执行。以下将详细介绍这个过程...

    Springboot读取本地json文件工程

    4. **使用Spring的JdbcTemplate和JsonUtils**:如果你的应用使用了Spring Data JPA或其他数据库访问技术,可以结合`JdbcTemplate`和`JsonUtils`(Spring的内部工具类)解析JSON: ```java String jsonString = ...

    数据库连接池druid,c3p0,jdbctemplate,jar包.rar

    数据库连接池jar包,包含c3p0、druidjar包和依赖jar包,c3p0通过配置文件xml或者properties读取连接对象 druid通过properties读取连接,使用springJDBC JdbcTempalte简化sql操作

    Spring+SpringMVC+JDBCTemplate简单用户管理功能

    7. **配置文件**:项目中可能包含Spring的XML配置文件或基于Java的配置,用于定义bean的实例化、依赖关系和数据库连接信息。此外,还需要Web应用的web.xml文件来配置DispatcherServlet和过滤器等。 总结起来,这个...

    spring 上传图片到数据库.zip

    这个压缩包文件的内容显然是关于如何使用Spring来实现图片以Base64编码的方式上传到MySQL数据库。 首先,让我们理解Base64编码。Base64是一种常见的数据编码方法,它将二进制数据转化为可打印的ASCII字符,以便在...

    java小程序读取数据库并替换生成新的文本

    在IT行业中,Java是一种广泛应用的编程语言,尤其在企业级应用和服务器端开发中占据重要地位。本项目涉及的是利用Java编写小程序...通过理解并掌握这些知识点,开发者能够构建出高效且可靠的数据库读取与文本生成程序。

    基于Spring与Hibernate的数据库操作进阶

    通过学习以上知识点,并结合提供的“基于Spring与Hibernate的数据库操作进阶.pptx”文件,开发者可以深入理解并掌握Spring和Hibernate的协同工作,提升数据库操作的能力,从而在实际项目中实现更高效、更稳定的数据...

    jdbcTemplate分页彻底解决,使用游标滚动

    在Java的Spring框架中,JdbcTemplate是一个非常重要的组件,它为数据库操作提供了简便的模板方法。在处理大量数据时,传统的分页方式可能会导致内存溢出,这时可以使用游标滚动来实现高效的分页。本篇文章将深入探讨...

Global site tag (gtag.js) - Google Analytics