首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

spring JdbcTemplate资料写数据库,读取

2012-08-10 
spring JdbcTemplate文件写数据库,读取/** * 插入文件表数据 * @param tb_File * @return */public int fi

spring JdbcTemplate文件写数据库,读取

/** * 插入文件表数据 * @param tb_File * @return */public int fileAdd(final File file,final Tb_File tb_File){// TODO Auto-generated method stubString 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 blocke.printStackTrace();}  } catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} reFlag=1;logger.debug(strMethod + "End.");return reFlag;}/** * 获取文件列表 * @return */public List<Tb_File> getTbFile() {// TODO Auto-generated method stubString 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 blocke.printStackTrace();} } catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.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;}

?

热点排行