社区
Java EE
帖子详情
java中怎么设置多条语句若执行都执行若不执行都不执行
小姜哥
博客专家认证
2010-11-08 10:20:08
我有这么一个需求,做文件上传同时在数据库中记录文件的路径,所以文件上传和更新数据库要如果执行都执行,反之都不执行,java中能怎么实现
...全文
288
5
打赏
收藏
java中怎么设置多条语句若执行都执行若不执行都不执行
我有这么一个需求,做文件上传同时在数据库中记录文件的路径,所以文件上传和更新数据库要如果执行都执行,反之都不执行,java中能怎么实现
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ousyuryu
2010-11-09
打赏
举报
回复
这个真的要看楼主需要什么了。
一般是批量上传中有一项失败就都回滚
按照楼主所说的好像是只上传一个文件
做法很多,我觉得把上传和数据库更新写在同一个逻辑块儿中比较好,可以写在不同的类,但在某个地方按顺序调用文件上传和数据库更新,在出现异常时执行文件和数据的删除就行了
例如:
try {
//文件上传
//更新文件路径
} catch (Exception ex) {
//文件删除
//清除文件路径
throw ex;
}
zn85600301
2010-11-09
打赏
举报
回复
[Quote=引用 3 楼 kebin0001 的回复:]
這與 java 沒很大關係,重要的是你怎麼規畫你的邏輯。
上傳和更新數據庫不可能在同一個交易裡,所以只能自己判斷檔案是否都上傳成功。
一開始先記錄一個暫存表格,記錄目錄、目錄內檔案以及上傳是否成功。
當全部成功之後,才將記錄寫到成功的表格。
因為是暫存的表格,所以上傳失敗可以做重傳、續傳或全部刪除,這就看你怎麼規畫了。
[/Quote]
恩 这是这个意思
如果文件大小不是很多的话 你可以删掉或者不管 下次重新上传的时候覆盖
如果文件较大 就要考虑上传的不易 去检测文件是否已经存在 是否已经上传完毕
kebin0001
2010-11-08
打赏
举报
回复
這與 java 沒很大關係,重要的是你怎麼規畫你的邏輯。
上傳和更新數據庫不可能在同一個交易裡,所以只能自己判斷檔案是否都上傳成功。
一開始先記錄一個暫存表格,記錄目錄、目錄內檔案以及上傳是否成功。
當全部成功之後,才將記錄寫到成功的表格。
因為是暫存的表格,所以上傳失敗可以做重傳、續傳或全部刪除,這就看你怎麼規畫了。
magicluo
2010-11-08
打赏
举报
回复
这个。。。
因为两个步骤不是针对数据库操作吧 ,只有后者是
有个顺序 ,先是上传文件,成功以后再写入数据库记录中(写入的时候文件已经上传成功)
难道你要在写入失败时候 ,将上传的文件撤销 删除?? 这个有必要吗。。
上传和写数据 分别委托两个类来完成,分别抛出异常就行了
如果上传时候抛出异常,后面的写入肯定就不再执行
如果上传成功,写入数据库时抛异常,则文件还是在服务器上,楼主可以在写入数据库的异常处理中 处理你上传成功的文件,或者不管它
再在系统中单独写一个附件维护的模块 就完了嘛。
看看其他高手有么好建议。
tosshl
2010-11-08
打赏
举报
回复
推荐commons-upload
Java
一次
执行
多条SQL
语句
Java
一次
执行
多条SQL 数据库
java
sql 多条 jdbc 概要: 本实例将演示如何一次
执行
多条SQL
语句
,这些SQL
语句
可以是插入
语句
、更新
语句
和删除
语句
。本实例以myuser数据库
中
的staff表为例。 | |目录 1技术要点 2代码实现 3程序解读 1技术要点 一次
执行
多条SQL的技术要点如下: Data
Java
Statement
中
execute可以
执行
多条
语句
在项目
中
利用脚本创建数据库表,遇到报错。是在
执行
execute方法时,报sql错误。这个sql在数据库里是可以
执行
的。但是用execute就报错了。大大的疑惑??? 后面发现我的sql脚本里存在多条
执行
语句
。但是execute默认只能
执行
一条。 刚开始我的连接url是这样的: String url = "jdbc:mysql://localhost:3306/" + databaseName + "?useUnicode=true&characterEncoding=UTF-8"; 要想解决报错
java
执行
多条SQL
语句
一次
执行
多条SQL的技术要点如下: DatabaseMetaData接口是描述有关数据库的整体综合信息,由于DatabaseMetaData是接口,所以没有构造方法,故不能使用new来创建DatabaseMetaData对象,但是可以通过Connection的getMetaData()方法创建。例如:DatabaseMetaData md=con.getMetaData()。
java
批量
执行
多条Sql
语句
java
批量
执行
多条Sql
语句
java
多个if
语句
的
执行
顺序_
Java
学习笔记-第四章 流程控制
语句
第4章 流程控制
语句
4-1
Java
条件
语句
之if如果布尔表达式的值为true,则
执行
if
语句
中
的代码块,否则
执行
if
语句
块后面的代码。语法:if(布尔表达式) {//布尔表达式为true时
执行
的
语句
}
执行
过程:4-2
Java
条件
语句
if…elseif
语句
后面可以跟else
语句
,当if
语句
的布尔表达式值为false时,else
语句
块会被
执行
。语法:if (布尔表达式) {//如果布尔表达式为tr...
Java EE
67,515
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章